如何在更新或删除操作后刷新GridView的数据,如果GridSet中的GridControl.datasource = Datatable

时间:2015-06-23 13:12:13

标签: vb.net devexpress

我有一个与sql server数据库中的表相关的devexpress gridview。我正在尝试在执行删除后立即刷新gridview,但到目前为止我没有尝试过任何工作。 (我已经验证了删除操作在表中有效)。我已经尝试了3种更新gridview的方法,但没有任何效果:

GridControl1.Refresh()

GridView1.RefreshData()

GridControl1.RefreshDataSource()

GridView1.RefreshEditor(True)

以下是整个操作的完整代码:

Using cnn As New SqlConnection(FrmGeneralConfig.GetInstance.getConnection())
    Try
        cnn.Open()
        Dim daDelete As New SqlDataAdapter
        Dim command As SqlCommand = New SqlCommand("DELETE FROM Client_Excepte_Charge_Min WHERE ClientNo = @ClientNo", cnn)       
        command.Parameters.AddWithValue("@ClientNo", clientNo)
        daDelete.DeleteCommand = command
        daDelete.DeleteCommand.ExecuteNonQuery()
        cnn.Close()
    Catch ex As Exception
        MessageBox.Show("Erreur: " & ex.Message)
    Finally
        GridControl1.Refresh()
        GridView1.RefreshData()
        GridView1.RefreshEditor(True)
    End Try
End Using

1 个答案:

答案 0 :(得分:0)

删除服务器中的行后,您需要更新DataTable 这是一个例子:

Using cnn As New SqlConnection(FrmGeneralConfig.GetInstance.getConnection())
    Try
        cnn.Open()

        Dim command As SqlCommand = New SqlCommand("DELETE FROM Client_Excepte_Charge_Min WHERE ClientNo = @ClientNo", cnn)
        command.Parameters.AddWithValue("@ClientNo", clientNo)
        command.ExecuteNonQuery()

        dtExceptions.Clear()

        Using adapter As New SqlDataAdapter()
            Dim selectCommand = New SqlCommand("SELECT * FROM Client_Excepte_Charge_Min", cnn)

            adapter.SelectCommand = selectCommand
            adapter.Fill(dtExceptions)
        End Using

        cnn.Close()
    Catch ex As Exception
        MessageBox.Show("Erreur: " & ex.Message)
    End Try
End Using