Как получить текущие видимые строки wxGrid

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
ImmortalDragon
Earned a small fee
Earned a small fee
Posts: 20
Joined: Fri Oct 15, 2010 6:55 pm

Как получить текущие видимые строки wxGrid

Post by ImmortalDragon » Sat Jul 27, 2013 5:38 pm

Есть очень большая таблица базы данных, хочу ее вывести в wxGrid. Но как?
Хранить все в памяти и каждый раз при создании контрола читать из базы данных - неинтрересно, поэтому wxGridStringTable отпадает.
wxGridTableBase::GetValue(row, col) срабатывает столько раз сколько ячеет сейчас видно, Можно было за один вызов читать текущую строку таблицы полностью и кэфировать в памяти, а при wxGridTableBase::GetValue(row, col) - если строка уже прочитана из базы данных - то читаем из кэша, иначе из базы данных. Идея хорошая, но если у меня сейчас видно 40 строк таблицы, то соответсвенно будет 40 запросов к таблице базы - нехочется ее напрягать.
А что хочется: при wxGridTableBase::GetValue(row, col) - получать какие строки сейчас видны (например с 15 по 55) и за один раз вытащить эти строки из базы и закэшировать.
Так вот - как мне определить какие сейчас строки (колонки) видны? Нинашел никаких таких методов в wxGrid и wxGridTableBase :cry:
Помогите.

Post Reply