Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Pupil от Июнь 17, 2013, 16:56



Название: Разбиение строк постранично в QSqlTableModel
Отправлено: Pupil от Июнь 17, 2013, 16:56
Здравствуйте!

Код:
QSqlTableModel
+   
Код:
QTableWidget

Существует ли стандартный метод разбиения строк QqlTableModel для отображения , например, по 10, с указанием порядкового номера десятки, т.е.
первые 10 строк, вторые 10 строк , третьи десять строк и т.д.?

В QSqlQueryModel с помощью метода SetQuery() данный алгоритм удается,
а для QSqlTableModel метод SetFilter выдает ошибку запроса (последний запрос) и ругается на ORDER BY.
qDebug (если необходимо) могу приложить завтра.

и попутный вопрос - если в определённом слоте применяется setSort(...), то как отключить сортировку чтобы после LIMIT 10 OFFSET 0
setFilter больше ничего не дописывал?

Может кто-то сталкивался с подобной задачей?


Название: Re: Разбиение строк постранично в QSqlTableModel
Отправлено: Pupil от Июнь 18, 2013, 09:00
погуглил форум на данную тему. Всё грустно. Или костыль делать или промежуточную модель-тормоз ) Троли недоглядели. )


Название: Re: Разбиение строк постранично в QSqlTableModel
Отправлено: Bepec от Июнь 18, 2013, 10:06
А я вас не понимаю!   :D

Вы хотите предъявлять по 10 записей пользователю? Али как? Нарисуйте как есть и как хотите, или опишите словами.

А я покумекаю быть может что нибудь ;)


Название: Re: Разбиение строк постранично в QSqlTableModel
Отправлено: Pupil от Июнь 18, 2013, 14:25
QSqlTableModel отображает все строки таблицы. Строк может быть и 1000 и 2000.
Для удобства - выбирать из списка
Код:
QComboBox
значение количества строк одной страницы (данного отображения),
а в
Код:
QSpinBox
вводить от 1 и далее - номера страниц, которые необходимо отобразить в данный момент.
Если номер количество строк страницы выбрать 10, а номер страницы 1, то с 0 по 10-ую строку БД, есди номер 2, то 11-21 и т.д. )


Название: Re: Разбиение строк постранично в QSqlTableModel
Отправлено: Pupil от Июнь 18, 2013, 14:28
Логически, ещё на это необходимо учитывать строку запроса для setFilter при критериальных выборках. И , если, для
Код:
QSqlQueryModel
существует строка вариативного запроса, то
строка, которая копится для метода
Код:
setFilter(QString)
- не есть стандартный запрос. )