当控件是数据绑定的行时,无法以编程方式将行添加到DataGridView的行集合中

我有一个网格,并且数据在网格中加载;我只需选择一行并按编辑按钮。在编辑时,打开新的子表单,并将行单元格的值传递给子表单上的控件。但是,当我更改子窗体上的某些值并将它们保存为网格中的替换时,出现此错误:当控件是数据绑定的数据绑定时,无法以编程方式将行添加到DataGridView的行集合中。这个错误的原因是什么以及如何克服这个错误。当控件是数据绑定的行时,无法以编程方式将行添加到DataGridView的行集合中

回答:

原因是“控件数据绑定时行不能以编程方式添加到DataGridView的行集合”。它与结晶水一样清澈

该解决方案?难道不行添加到DataGridView的行集合,将它们添加到底层数据源集合(在您设置到DataGridView的DataSource属性的集合)

回答:

添加或编辑你的行中的DataGridViewDataSource。 不要直接添加/编辑到您的网格。

如果您DataSource is DataSet,并要添加新行

DataSet dsTempDataTable = (DataSet)MainApplication.dgvBooksDetails.DataSource; 

DataTable dt = dsTempDataTable.Tables[0]; // use table index/name to get the exact table

DataRow dr = dt.NewRow();

// code to fill record

dt.Rows.Add(dr);

要编辑

DataSet dsTempDataTable = (DataSet)MainApplication.dgvBooksDetails.DataSource; 

DataTable dt = dsTempDataTable.Tables[0]; // use table index/name to get the exact table

dt.Rows[0]["columnName"] = "some value";

// your row edit code

dt.AcceptChanges();

回答:

我有同样的问题,我发现解决方案。

//create datatable and columns 

DataTable dtable = new DataTable();

dtable.Columns.Add(new DataColumn("Column 1"));

dtable.Columns.Add(new DataColumn("Column 2"));

//simple way create object for rowvalues here i have given only 2 add as per your requirement

object[] RowValues = { "", "" };

//assign values into row object

RowValues[0] = "your value 1";

RowValues[1] = "your value 2";

//create new data row

DataRow dRow;

dRow = dtable.Rows.Add(RowValues);

dtable.AcceptChanges();

//now bind datatable to gridview...

gridview.datasource=dtable;

gridview.databind();

来源:http://www.codeproject.com/Questions/615379/Adding-rows-to-datagridview-with-existing-columns

以上是 当控件是数据绑定的行时,无法以编程方式将行添加到DataGridView的行集合中 的全部内容, 来源链接: utcz.com/qa/259827.html

回到顶部