如何在datagridview中添加绑定到数据源的New Row

时间:2013-09-20 10:59:38

标签: c# winforms datagridview

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

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

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

3 个答案:

答案 0 :(得分:7)

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

我希望这会有所帮助。

答案 1 :(得分:5)

您似乎正在使用DataSource的{​​{1}}属性。当此属性用于绑定到数据时,您无法直接向DataGridView显式添加行。 您必须直接在数据源中添加行

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

答案 2 :(得分:4)

转而绑定到BindingSource,您将保留NewRow