![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
kibsoft |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
Как искать например строку в модели? Перебирать строки? setFilter()?
|
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
maint, Ну это довольно просто, нужно воспользоваться моделью выделения (QItemSelectionModel).
Получаешь её у представления (table->selectionModel()). Затем у модели данных просишь найти в заданной колонке нужное значение (QAbstractItemModel::match) В качестве начального индекса передаёшь: QModelIndex(0, столбец_с_ПК, QModelIndex) Т.к. этот столбец - первичный ключ, то значения в нём уникальны, следовательно первый же результат и будет индекс соответствующий строке с данным ПК, его передаёшь в модель выделения. П.С. метод QAbstractItemModel::match можно использовать и для поиска по модели, не забираясь в БД П.П.С. MoPDoBoPoT уже упоминал насчёт fetch, если рельтат поиска пустой, то нужно пользоваться методом fetch |
|
|
maint |
![]()
Сообщение
#3
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
maint, Ну это довольно просто, нужно воспользоваться моделью выделения (QItemSelectionModel). Получаешь её у представления (table->selectionModel()). Затем у модели данных просишь найти в заданной колонке нужное значение (QAbstractItemModel::match) В качестве начального индекса передаёшь: QModelIndex(0, столбец_с_ПК, QModelIndex) Т.к. этот столбец - первичный ключ, то значения в нём уникальны, следовательно первый же результат и будет индекс соответствующий строке с данным ПК, его передаёшь в модель выделения. П.С. метод QAbstractItemModel::match можно использовать и для поиска по модели, не забираясь в БД П.П.С. MoPDoBoPoT уже упоминал насчёт fetch, если рельтат поиска пустой, то нужно пользоваться методом fetch спасибо, буду пробовать |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.6.2025, 11:13 |