C# 将所选datagridview发送到datatable
我正在尝试将选定的datagridview行获取到datatableC# 将所选datagridview发送到datatable,c#,datagridview,datatable,C#,Datagridview,Datatable,我正在尝试将选定的datagridview行获取到datatable 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] =
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;
}
}
使用下面的代码,我可以发送selectedrow over,但是当尝试向datatable发送第二行时,它会添加一个空行,但会覆盖datatable中的第一行
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;
}
}
for(int i=0;i
正如预期的那样,它进入了索引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;
}
for(int j=0;j
这给了我一个错误,行不存在,应该如何解决添加第二行而不是替换
DT1.Rows[i][j] = dataGridview.SelectedRows[i].Cells[j].Value,ToString();
试试这个!您的外部循环已在跟踪表中的行,因此无需干扰行计数。您在
行计数中遇到问题。
Rowcount提供总行数,但rowindex
始终以0开头
ierowindex=rowcount-1
用这个
for (int j = 0; j < dataGridview.Columns.Count; j++)
{
int rowcount = DT1.Rows.Count;
DT1.Rows[rowcount-1][j] = dataGridview.SelectedRows[i].Cells[j].Value;
}
for(int j=0;j
您的代码中还有其他问题。也就是说,如果用户在对该代码的不同调用中选择相同的行,则将插入重复的行
修复rowcount,将其更改为rowcount-1。然后回顾你的设计。提出一种防止重复插入的方法(除非您真的希望如此)。数组基于0,因此不要访问行[rowcount],访问行[rowcount-1]以到达最后一行。谢谢您,Les,这非常有效,还尝试了int-rowcount=CarProfile.Rows.Count-1;但这行不通。你能发一封邮件给我,这样我就可以给你积分了吗?计数1不是行数。行数是。行数。Count-1或rowcount-1是最后一行