如何在绑定到数据源的数据网格视图中添加新行

本文关键字:网格 数据网 视图 新行 添加 数据 绑定 数据源 | 更新日期: 2023-09-27 18:32:04

我有一个绑定到数据源的数据网格视图。当我单击"编辑"按钮或"新建"按钮时,我必须在数据网格视图中添加一个新行。我尝试了一些代码,但它给了我错误,代码如下

DataGridView grdview = new DataGridView();
grdview.Rows.Add();
grdview.Rows[grdview.Rows.Count - 1].Cells[0].Selected = true;
grdview.BeginEdit(false);

我还尝试将数据源类型转换为数据表,但没有解决方案。

如何在绑定到数据源的数据网格视图中添加新行

您似乎正在使用DataGridViewDataSource属性。当此属性用于绑定到数据时,不能将行直接显式添加到 DataGridView。相反,您必须直接向数据源添加行

If you are binding a List

//Assume Student list is bound as Dtaasource
List<Student> student = new List<Student>();
//Add a new student object to the list
student .Add(new Student());
//Reset the Datasource
dataGridView1.DataSource = null;
dataGridView1.DataSource = student;

If you are binding DataTable

DataTable table = new DataTable();
 DataRow newRow = table.NewRow();
// Add the row to the rows collection.
table.Rows.Add(newRow);

不,如果DataGridView是绑定到某个数据源的数据,则无法添加新行/列。您必须使用所需的列创建一个新的数据集(DataTable或其他),然后将DataGridView重新绑定到该数据集。

我希望这有所帮助。

改为绑定到BindingSource,您将保留 NewRow