这是我在datagridview上添加新行的代码,它的工作正常,但添加的行始终在datagridview的最后一行,我希望添加的行在下一行,然后是起源。

DataTable dataTable = (DataTable)dgVSdetail.DataSource;
DataRow drToAdd = dataTable.NewRow();
       drToAdd[0] = rowV.Cells[0].Value.ToString();
       drToAdd[1] = rowV.Cells[1].Value.ToString();
       drToAdd[2] = rowV.Cells[2].Value.ToString();
       drToAdd[3] = rowV.Cells[3].Value.ToString();
       drToAdd[4] = rowV.Cells[4].Value.ToString();
       drToAdd[5] = Convert.ToDecimal(rowV.Cells[5].Value.ToString()) - Convert.ToDecimal(rowV.Cells[6].Value.ToString());
dataTable.Rows.Add(drToAdd);
dataTable.AcceptChanges();

最佳答案

您可以使用InsertAtDataTable.Rows方法,然后您的代码将如下所示:

int positionToInsertRow= 2;// Get the position that you want
dataTable.Rows.InsertAt(drToAdd, positionToInsertRow);


其中drToAdd是要添加到DataTable的行,而positionToInsertRow是要在其中插入行的位置/索引。

09-12 20:06