我有一个包含 10 行和 3 列的 GridView 。现在我想循环遍历 GridView 的所有行和所有列,并将它们添加到数据表中。
DataRow row;
int rowscount = gv.Rows.Count;
int columnscount = gv.Columns.Count;
for (int i = 0; i < rowscount; i++)
{
for (int j = 0; j < columnscount; j++)
{
row = empTable.NewRow();
row["a"] = gv.Rows[i][column1].Tostring();
row["b"] = gv.Rows[i][column2].ToString();
MynewDatatable.Rows.Add(row);
}
}
gv - 我的 GridView
现在我的问题是,我可以将 gv
中所有行的所有列的值获取到我的新数据表中吗?我不知道我的循环是否正确...我正在使用此数据表用于批量复制功能...
最佳答案
- 上面的代码正在为 GridView 中的每个单元格创建一个新行。
- 在 GridView 的每一行中,您的代码会将行中的每个值分配给同一列 Emp_Name。
我认为已更正:
int rowscount = gv.Rows.Count;
int columnscount = gv.Columns.Count;
for (int i = 0; i < rowscount; i++)
{
// Create the row outside the inner loop, only want a new table row for each GridView row
DataRow row = empTable.NewRow();
for (int j = 1; j < columnscount; j++)
{
// Referencing the column in the new row by number, starting from 0.
row[j - 1] = gv.Rows[i][j].Tostring();
}
MynewDatatable.Rows.Add(row);
}
编辑:您一直在编辑问题中的来源,因此我的答案可能会过时。 :)
关于c# - 使用 C# 循环遍历 gridview 的所有行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023187/