Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » wxPython Grid: есть ли аналог DataProvider из flex? [RSS Feed]

#1 Март 19, 2010 17:22:39

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython Grid: есть ли аналог DataProvider из flex?

Во flex при работе с таблицами нужно устанавливать DataProvider (массив объектов).
Данные из DataProvider-a отображаются внутри соответствующих колонок.
При изменении данных внутри DataProvider-a, автоматически обновляется отрисованная таблица.

Вопрос - есть ли аналог DataProvider-а при работе с какими-либо таблицами wxPython? (не обязательно wx.grid.Grid)



Офлайн

#2 Март 22, 2010 05:37:44

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

wxPython Grid: есть ли аналог DataProvider из flex?

wx.grid.PyGridTableBase



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Март 22, 2010 10:07:51

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython Grid: есть ли аналог DataProvider из flex?

смотрю такую доку: http://wiki.wxpython.org/wxPyGridTableBase
SetAttrProvider на вход принимает wxGridCellAttrProvider
сейчас буду искать по гуглу wxGridCellAttrProvider. если иду не в том направлении, просьба вразумить.
спасибо.



Офлайн

#4 Март 22, 2010 10:20:48

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython Grid: есть ли аналог DataProvider из flex?

кажется, не туда пошёл… PyGridTableBase и wxPyGridTableBase - это ведь разные вещи?



Офлайн

#5 Март 22, 2010 10:35:04

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

wxPython Grid: есть ли аналог DataProvider из flex?

axe
кажется, не туда пошёл… PyGridTableBase и wxPyGridTableBase - это ведь разные вещи?
Да нет, одна и та же. Посмотрите 14 главу “wxPython in Action”, есть и на русском. Да и тут на форуме примеры есть.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#6 Март 22, 2010 11:05:36

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython Grid: есть ли аналог DataProvider из flex?

PooH
Посмотрите 14 главу “wxPython in Action”
PooH, спасибо!

глянул сейчас мельком в “wxPython in Action”, запустил пример оттуда, позже посмотрю подробнее. как я понял, есть два типа классов:
1. Grid - это визуальная таблица, которая непосредственно отображается на экране.
2. таблица Grid может быть связана с невизуальным классом GridTableBase, из которого будут браться данные, через метод grid.SetTable(table, True).

получается, GridTableBase - довольно удобная штука, с помощью которой можно доставать данные из любой своей структуры.
если в процессе работы изменить данные внутри GridTableBase.data, в визуальной таблице Grid данные должны обновиться автоматически или нужно перерисовать Grid?



Отредактировано (Март 22, 2010 11:07:39)

Офлайн

#7 Март 22, 2010 11:34:50

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

wxPython Grid: есть ли аналог DataProvider из flex?

axe
если в процессе работы изменить данные внутри GridTableBase.data, в визуальной таблице Grid данные должны обновиться автоматически или нужно перерисовать Grid?
Grid`у надо из модели сообщение послать GRIDTABLE_NOTIFY_ROWS_APPENDED. GRIDTABLE_NOTIFY_ROWS_DELETED, GRIDTABLE_NOTIFY_COLS_APPENDED. GRIDTABLE_NOTIFY_COLS_DELETED, GRIDTABLE_REQUEST_VIEW_GET_VALUES
что-то типа такого:
msg = wx.grid.GridTableMessage(self, wx.grid.GRIDTABLE_REQUEST_VIEW_GET_VALUES)
self.GetView().ProcessTableMessage(msg)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

  • Начало
  • » GUI
  • » wxPython Grid: есть ли аналог DataProvider из flex?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version