【发布时间】:2015-09-25 13:29:44
【问题描述】:
我正在尝试将选定的 datagridview 行添加到数据表中。
使用以下代码,我可以将 selectedrow 发送过来,但是当尝试将第二行发送到数据表时,它会添加一个空行,但会覆盖数据表中的第一行。
for (int i = 0; i < dataGridview.SelectedRows.Count; i++)
{
DT1.Rows.Add();
for (int j = 0; j < dataGridview.Columns.Count; j++)
{
DT1.Rows[0][j] = dataGridview.SelectedRows[i].Cells[j].Value;
}
}
正如预期的那样,它进入索引 0 上的行,所以我尝试了以下操作以到达最后一行
for (int j = 0; j < dataGridview.Columns.Count; j++)
{
int rowcount = DT1.Rows.Count;
DT1.Rows[rowcount][j] = dataGridview.SelectedRows[i].Cells[j].Value;
}
这给了我一个错误,该行不存在,添加第二行而不是替换的解决方案应该是什么?
【问题讨论】:
-
数组是从 0 开始的,所以不要访问 Rows[rowcount],访问 Rows[rowcount-1] 才能到达最后一行。
-
谢谢 Les,这很好用,也试过 int rowcount = CarProfile.Rows.Count -1;但这行不通。你能把答案贴出来让我给你学分吗?
-
Count-1 不是行数。行数是 .Count。 Count-1 或 rowcount-1 是最后一行
标签: c# datagridview datatable