2

テーブル データが変更された後、 grid.ForceRefresh() を呼び出して wx.grid.PyGridTableBase を更新しようとしています。ただし、行数は更新されないため、テーブルには元の (更新前の) 行数が表示されたままです。グリッドを完全に更新するためにできることはありますか?

4

1 に答える 1

2

行った変更をグリッドに通知するのを忘れた可能性があります。wxPythonデモで例を見つけるか、トピックに関するこの古いスレッドを読むことができます。

https://groups.google.com/forum/?fromgroups=#!msg/wxpython-users/z4iobAKq0os/zzUL70WzL_AJ

それは言う:

msg = wx.grid.GridTableMessage(self,          # The table
      wx.grid.GRIDTABLE_NOTIFY_ROWS_APPENDED, # what we did to it
      1                                       # how many
      )

また

msg = wx.grid.GridTableMessage(self,          # The table
      wx.grid.GRIDTABLE_NOTIFY_ROWS_INSERTED, # what we did to it
      5,                                      # from which row
      1                                       # how many
      )

また

msg = wx.grid.GridTableMessage(self,          # The table
      wx.grid.GRIDTABLE_NOTIFY_ROWS_DELETED,  # what we did to it
      5,                                      # from which row
      1                                       # how many
      )

に続く

self.GetView().ProcessTableMessage(msg)

これについては、wxPython wikiで読むこともできます:http ://wiki.wxpython.org/wxGrid

于 2013-01-08T14:21:45.807 に答える