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