在数据库中插入行后更新列表框

时间:2019-05-06 17:22:45

标签: vb.net datagridview listbox bindingsource

我有一个列表框,其中有一个绑定源,该绑定源连接到Access数据库。包含以下代码,这些代码可以创建新行并将其添加到我的Access数据库和datagrid视图中,但列表框中的更改不会更新。

    Dim drv As DataRowView = DirectCast(EQtblBindingSource.AddNew(), DataRowView)

    drv.BeginEdit()

    drv.Row.BeginEdit()

    drv.Row("eiD") = "SS"
    drv.Row("EQ_NAME") = "DUMMY"

    drv.Row.EndEdit()

    drv.DataView.Table.Rows.Add(drv.Row)
    EQ_tblTableAdapter.Update(EQDATADataSet.EQ_tbl)                
    EQtblBindingSource.ResetBindings(True)

添加新行后,是否可以立即反映更改? resetbindings似乎不起作用,或者还有其他选项可以重新加载或刷新我的列表框。任何想法请帮忙。

谢谢

1 个答案:

答案 0 :(得分:0)

确保将列表框的数据源设置为绑定源。

您的代码可以简化为:

   With EQtblBindingSource
        .AddNew()
        DirectCast(.Current, DataRowView)("eiD") = "SS"
        DirectCast(.Current, DataRowView)("EQ_NAME") = "DUMMY"
        .EndEdit()
    End With
    EQ_tblTableAdapter.Update(EQDATADataSet.EQ_tbl)