【问题标题】:Adding more rows to a datagridview in vb.net在 vb.net 中向 datagridview 添加更多行
【发布时间】:2023-03-25 15:01:01
【问题描述】:
Private Sub btnAddSub_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddSub.Click

    Dim comboboxvalue As String
    comboboxvalue = "'" & CBClass.SelectedItem & "'"
    Dim sql As String
    sql = "Select * From class Where ClassCode=" & comboboxvalue
    Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=H:\ProjectDatabase.mdb"
    Dim MyConn As OleDbConnection
    Dim da As OleDbDataAdapter
    Dim ds As DataSet
    Dim tables As DataTableCollection
    Dim source1 As New BindingSource

    MyConn = New OleDbConnection
    MyConn.ConnectionString = connString
    ds = New DataSet
    tables = ds.Tables
    da = New OleDbDataAdapter(sql, MyConn)
    da.Fill(ds, "Class")
    Dim view As New DataView(tables(0))
    source1.DataSource = view
    Form1.dgv.DataSource = view

End Sub

我目前可以将一条数据添加到数据网格。当我尝试添加第二条数据时,它会替换当前存储的数据。

我如何做到这一点,以便当我添加更多数据时它会进入新行。

【问题讨论】:

  • 我不知道这是否是您的问题的根源,但我注意到Form1.dgv.DataSource = view。由于我没有看到 Form1 声明,我想知道您是否使用 Form1 的默认表单实例。如果 Form1 是放置 btnAddSub 的表单,那么 Me.dgv.DataSource = view 会更有意义。
  • 我正在尝试从另一个表单添加到 DGV。 DGV 当前位于表格 1 上。唯一的问题是,当我选择要添加的新项目时,它只会删除表格 1 DGV 上的当前项目。

标签: sql database vb.net datagridview datagrid


【解决方案1】:

您提供的源代码看起来很像您只是在每次单击 btnAddSub 时刷新 DGV 的数据源,每次都分配给 form1.dgv.datasource。如果您想简单地将新行附加到 DGV,则需要通过向其添加 DataGridViewRow 对象来操作 DGV.Rows 集合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-19
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 2021-04-10
    相关资源
    最近更新 更多