【发布时间】:2017-04-26 11:14:35
【问题描述】:
是的,我知道还有其他关于此的帖子,但我不明白要更改什么或在哪里使解决方案适合我的代码。
错误:
当控件绑定数据时,不能以编程方式将行添加到 DataGridView 的行集合中。
代码:
Public Sub dsLoadEvents()
dsConnectionE = New OleDbConnection
dsConnectionE.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data source=DataSourceDB.accdb"
dsDataAdapterE = New OleDbDataAdapter
dsDataAdapterE.SelectCommand = New OleDbCommand
dsDataAdapterE.SelectCommand.Connection = dsConnectionE
dsDataAdapterE.SelectCommand.CommandText = "SELECT * FROM Event"
dsDataAdapterE.SelectCommand.CommandType = CommandType.Text
dsConnectionE.Open()
dsDataSetE = New DataSet
dsDataAdapterE.Fill(dsDataSetE, "dataSetEvents")
dsConnectionE.Close()
Form3.dgdEvents.AutoGenerateColumns = True
Form3.dgdEvents.DataSource = dsDataSetE
Form3.dgdEvents.DataMember = "dataSetEvents"
End Sub
这是第一次打开程序时加载事件的地方。我正在向数据库添加内容,但是我尝试使用以下代码将其添加到DataGridView,但它给了我上面的错误。
Form3.dgdMembers.Rows.Add(New String() {Form3.tbceid.Text, Form3.tbfn.Text, Form3.dtpesd.Value, Form3.dtpdob.Value, Form3.tbal2.Text, Form3.tbal1.Text, Form3.tbpgfn.Text, Form3.tbpgsn.Text, Form3.tbcpp.Text, Form3.tbelid.Text})
【问题讨论】:
-
正如帖子所说,您应该将该行添加到数据源 (dsDataSetE),而不是数据网格 (dgdMembers)。
-
@Jerrad 我不明白怎么做的。
-
@Jerrad 因为当我将 dgdMembers 更改为 dsDataSetE 时,它说“Rows 不是 DataSet 的成员”。
-
dsDataSetE.Tables(0)应该会给你一个可以添加行的表。
标签: sql vb.net datagridview datagrid rows