Периодическое обновление данных в таблице. Как лучше реализовать? |
Здравствуйте, гость ( Вход | Регистрация )
Периодическое обновление данных в таблице. Как лучше реализовать? |
gmurik2 |
2.6.2010, 10:46
Сообщение
#1
|
Студент Группа: Участник Сообщений: 23 Регистрация: 21.5.2009 Пользователь №: 764 Спасибо сказали: 0 раз(а) Репутация: 0 |
День добрый! Пишу многопользовательское приложение базы данных, в приложении есть таблица, в которой выводится результат запроса. Эта таблица должна периодически обновляться, чтобы отобразить изменения сделанные другими пользователями. Как widget'ом лучше воспользоваться QTableView или QTableWedget?
|
|
|
Andrewshkovskii |
2.6.2010, 11:09
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Обновление должно происходить после какого-то события или же через определенные моменты времени?
|
|
|
gmurik2 |
2.6.2010, 11:59
Сообщение
#3
|
Студент Группа: Участник Сообщений: 23 Регистрация: 21.5.2009 Пользователь №: 764 Спасибо сказали: 0 раз(а) Репутация: 0 |
Через определенные моменты времени, например раз в пять секунд
|
|
|
Andrewshkovskii |
2.6.2010, 12:54
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Ну тут без разницы, каким виджетом. Ты вообще можешь сделать свою модель, с автообновлением. А так смотри QTimer, QTimer::singleShot
|
|
|
gmurik2 |
2.6.2010, 13:12
Сообщение
#5
|
Студент Группа: Участник Сообщений: 23 Регистрация: 21.5.2009 Пользователь №: 764 Спасибо сказали: 0 раз(а) Репутация: 0 |
Если использовать QTableView, то при обновление не происходит незаметно, пропадает выделение (хотя это устранимо), изменяется ширина столбцов и еще много неприятных эффектов, QTableWidget - надо почти все писать самому....
|
|
|
Andrewshkovskii |
2.6.2010, 18:29
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Ну так ты же можешь все это запомнить, хранить где-то, если это критично.
|
|
|
MoPDoBoPoT |
3.6.2010, 0:45
Сообщение
#7
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
Ну так ты же можешь все это запомнить, хранить где-то, если это критично. Угу, например кое-что уже есть: QByteArray QHeaderView::saveState () const bool QHeaderView::restoreState ( const QByteArray & state ) Насчет восстановления выделения - спорный вопрос. В общем случае, нет гарантий, что данная запись еще не удалена из БД. Да и вообще, честно говоря, вся тема достаточна спорна. Конечно, я не знаю для какой предметной области разрабатывается данное ПО, но в большинстве случаев такая актуальность данных не нужна, только лишний трафик гонять. Можно вполне обойтись и кнопочкой "Обновить". Кстати, в некоторых СУБД существуют нотификационные сервисы, позволяющие посылать уведомления при возникновении каких-либо событий в базе данных. |
|
|
Andrewshkovskii |
3.6.2010, 1:12
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Цитата Кстати, в некоторых СУБД существуют нотификационные сервисы, позволяющие посылать уведомления при возникновении каких-либо событий в базе данных. Вот мне про это интересно, в каких СУБД реализованно? (кроме оракла, конечно ) |
|
|
Litkevich Yuriy |
3.6.2010, 11:34
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
MoPDoBoPoT |
3.6.2010, 16:10
Сообщение
#10
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
PostgreSQL (тоже поддерживается Qt), в Microsoft SQL Serve, по-моему, еще есть. Остальные хз.
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 5:18 |