Форум сайта python.su
Во flex при работе с таблицами нужно устанавливать DataProvider (массив объектов).
Данные из DataProvider-a отображаются внутри соответствующих колонок.
При изменении данных внутри DataProvider-a, автоматически обновляется отрисованная таблица.
Вопрос - есть ли аналог DataProvider-а при работе с какими-либо таблицами wxPython? (не обязательно wx.grid.Grid)
Офлайн
wx.grid.PyGridTableBase
Офлайн
смотрю такую доку: http://wiki.wxpython.org/wxPyGridTableBase
SetAttrProvider на вход принимает wxGridCellAttrProvider
сейчас буду искать по гуглу wxGridCellAttrProvider. если иду не в том направлении, просьба вразумить.
спасибо.
Офлайн
кажется, не туда пошёл… PyGridTableBase и wxPyGridTableBase - это ведь разные вещи?
Офлайн
axeДа нет, одна и та же. Посмотрите 14 главу “wxPython in Action”, есть и на русском. Да и тут на форуме примеры есть.
кажется, не туда пошёл… PyGridTableBase и wxPyGridTableBase - это ведь разные вещи?
Офлайн
PooHPooH, спасибо!
Посмотрите 14 главу “wxPython in Action”
Отредактировано (Март 22, 2010 11:07:39)
Офлайн
axeGrid`у надо из модели сообщение послать GRIDTABLE_NOTIFY_ROWS_APPENDED. GRIDTABLE_NOTIFY_ROWS_DELETED, GRIDTABLE_NOTIFY_COLS_APPENDED. GRIDTABLE_NOTIFY_COLS_DELETED, GRIDTABLE_REQUEST_VIEW_GET_VALUES
если в процессе работы изменить данные внутри GridTableBase.data, в визуальной таблице Grid данные должны обновиться автоматически или нужно перерисовать Grid?
msg = wx.grid.GridTableMessage(self, wx.grid.GRIDTABLE_REQUEST_VIEW_GET_VALUES)
self.GetView().ProcessTableMessage(msg)
Офлайн