以下是代码:
Private Sub AddNewDgvRow(dgv As DataGridView)
Dim dt As DataTable = dgv.DataSource.DataSource.Client
Dim myRow As DataRow = dt.NewRow
dt.Rows.Add(myRow) <-------- adds 2 rows at this point
End Sub
问题是这段代码增加了2行,我不知道为什么。
dgv.Datasource产生一个BindingSource,而dgv.Datasource.Datasource产生一个DataSet
尝试了没有dt.Rows.Add()的dt.NewRow,它在语法上采用了它,但后来我得到了一个实例错误。我需要.NewRow来创建架构记录默认值。
有什么想法吗? VS2013.2中的VB.NET非常感谢你!
-HB
答案 0 :(得分:1)
是&#34;允许用户添加行&#34;组?这是真的,添加行不需要代码。因此,DataGridView会自动添加它,然后您的代码(在AddNewDgvRow中)再次添加它。
正如您在关于CellEnter事件的原始帖子的评论中引用的那样,有时程序员可能想要使用DataGridView的内置功能,有时我们需要更多控制。