【问题标题】:GridControl delete multiple row and update the record in databaseGridControl 删除多行并更新数据库中的记录
【发布时间】:2014-06-21 19:09:02
【问题描述】:

问候,

我正在使用 DevExpress 进行 VB.NET 开发,我有这个带有复选框的 GridControl 来选择多行。

现在,在我选择多行之后,我使用 GridViewName.DeleteSelectedRows() 来删除该行,但它只是在 GridControl 中删除,而不是数据库中的数据。

我使用以下方法将数据填充到我的 GridControl 中:

        Dim da As New OleDbDataAdapter("SELECT tblProduct.prod_id, tblProduct.prod_model, tblCategory.cat_name, tblProduct.prod_quantity, tblProduct.prod_cost, tblProduct.prod_price" _
                                        & " FROM tblCategory INNER JOIN tblProduct ON tblCategory.cat_id = tblProduct.prod_category", openConn())
        Dim dt As New DataTable

        da.Fill(dt)

        GridViewName.DataSource = dt

如何更新数据库中的数据以进行多行删除?

问候,
米洛

【问题讨论】:

  • 如果控件绑定到数据源,您应该从数据源中删除,而不是从控件中删除。
  • 是的,问题是如何获取我选择删除的多行的 prod_id?
  • prodid 应该是网格的一部分,然后你会得到我想要的。把它放在一个列中,让它不可见....
  • 是的,我确实在那里填充并使其不可见,我的意思是如何检索我选择的多行 ID? @__@

标签: vb.net devexpress ms-access-2010 gridcontrol


【解决方案1】:

这里是解释如何获取选定行 ID 的代码:

        Dim rowHandles As Integer() = gridView1.GetSelectedRows()
    Dim rowKeys As Object() = New Object(rowHandles.Length - 1){}
    Dim i As Integer = 0
    Do While i < rowHandles.Length
        rowKeys(i) = gridView1.GetRowCellValue(rowHandles(i), "KeyFieldValue")
        i += 1
    Loop

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    相关资源
    最近更新 更多