C# DataGridView.Rows.ToString()
本文关键字:ToString Rows DataGridView | 更新日期: 2023-09-27 18:12:25
我正试图将每一行的值存储在一个字符串中。
如果我尝试做DataGridView.Rows.ToString()
,我会得到
System.Windows.Forms.DataGridViewRowCollection
甚至还没有达到我的需求。
有什么想法吗?
我认为您正在寻找基于每行的内容。如果是的话,我建议如下。
private static IEnumerable<string> GetRowValues(this DataGridView dgv)
{
var list = new List<string>(dgv.Rows.Count);
foreach (DataGridViewRow row in dgv.Rows)
{
var sb = new StringBuilder();
foreach (DataGridViewCell cell in row.Cells)
{
sb.Append(cell.ToString());
}
list.Add(sb.ToString());
}
return list.AsReadOnly();
}
您需要这样做:
StringBuilder sb = new StringBuilder();
for(int row=0; row<DataGridView.Rows.Count; row++)
{
for(int col=0; col < DataGridView.Columns.Count; col++)
{
sb.Append(DataGridView.Row[row][col].ToString());
}
}
sb.ToString(); // that will give you the string you desire
编辑我并不是为了检查它是否运行,但它至少应该给你一个起点。此外,这将为您提供所有行。如果只需要一行,请将变量行更改为所需的行号(请记住,它是从零开始的(。
使用for each语句遍历Datagridview中的每一行。
foreach (DataGridViewRow datarow in dataGridView.Rows)
{
string col1 = datarow.Cells["Col1"].Value.ToString();
string col2 = datarow.Cells["Col2"].Value.ToString();
string col3 = datarow.Cells["Col3"].Value.ToString();
}
Foreach(Var row in DataGridView.Rows)
{
Foreach(Var cell in row.Cells)
{
Var str = cell; // this is the string you want
}
}
类似上面的代码。请原谅在iPad上输入的格式。