【问题标题】:devexpress gridcontrol refresh datasourcedevexpress gridcontrol 刷新数据源
【发布时间】:2023-03-15 12:24:02
【问题描述】:

我用这段代码填充了一个 devexpress 网格控件,一切正常:

Private Sub tbccegek_SelectedPageChanged(ByVal sender As Object, ByVal e As DevExpress.XtraTab.TabPageChangedEventArgs) Handles tbccegek.SelectedPageChanged
    If tbccegek.SelectedTabPageIndex = 3 Then

        'gcCegek.DataSource = Nothing
        ConnectToDb(fbconn, "public")
        fbcommand.Connection = fbconn
        fbcommand.CommandText = "select cegazon, rovidnev, irsz||' '||varos||' '||utca||' '||hazszam as cim, adoszam, konyvpnem, osszktg_forg from cegek order by cegazon"
        fbadapter.SelectCommand = fbcommand

        fbadapter.Fill(fbdataset)
        fbdataset.Tables(0).TableName = "cegek"
        gcCegek.DataMember = "cegek"
        gcCegek.DataSource = fbdataset

        For i = 0 To fbdataset.Tables(0).Rows.Count - 1
            If fbdataset.Tables(0).Rows(i).Item(5) = "1" Then
                fbdataset.Tables(0).Rows(i).Item(5) = "Összköltség"
            ElseIf fbdataset.Tables(0).Rows(i).Item(5) = "0" Then
                fbdataset.Tables(0).Rows(i).Item(5) = "Forgalmi ktg."
            End If
        Next

        gcCegek.MainView.PopulateColumns()

        columnview = gcCegek.MainView
        columnview.Columns(0).Caption = "Cégazonosító"
        columnview.Columns(1).Caption = "Cégnév (rövid)"
        columnview.Columns(2).Caption = "Cím"
        columnview.Columns(3).Caption = "Adószám"
        columnview.Columns(4).Caption = "K.pnem"
        columnview.Columns(5).Caption = "Ktg.elsz"
        GridView1.BestFitColumns()

        fbconn.Close()
    End If
End Sub

但是,如果我在应用程序中修改了一条记录,然后通过更新 sql 将其保存到数据库中,然后再次单击 gridcontrol 所在的选项卡,我看到,gridcontrol 中的值没有改变。但在数据库中,有修改后的值。

如您所见,在标签页更改事件中,我从一开始就填充了网格,在我看来也应该有修改后的值。

你能帮帮我吗?

【问题讨论】:

  • 如何更改数据和更新数据库?

标签: .net devexpress datasource gridcontrol


【解决方案1】:

解决这个问题的方法是重新从 DB 中重新获取数据到与网格连接的 DataSource。在这种情况下,网格将知道数据已更改并刷新其内容。

另外,我建议您在发布的事件处理程序中设置断点,并确保从数据库中获取实际修改的数据。

另外,使用下面的代码更正确:

if not e.Page Is Nothing andalso e.Page.SelectedTabPageIndex = 3 Then
...

【讨论】:

  • 我在所有代码之前设置了 fbdataset = New DataSet,现在它可以正常工作了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-14
  • 2016-06-15
  • 2015-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多