Russian Qt Forum
Март 29, 2024, 03:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Поиск строки в QTableView  (Прочитано 4480 раз)
ymb
Новичок

Offline Offline

Сообщений: 7


Просмотр профиля
« : Октябрь 11, 2017, 09:48 »

Существует ли в QT поиск строки по значению поля типа locate в С++ Builder?
Искал в классах QSqlQuery, QSqlQueryModel, QTableView.
Может плохо искал?
Подскажите кто знает.
 
Записан
ssoft
Программист
*****
Offline Offline

Сообщений: 574


Просмотр профиля
« Ответ #1 : Октябрь 11, 2017, 10:29 »

Наверное это QModelIndexList QAbstractItemModel::match ( ... ) const
Записан
ymb
Новичок

Offline Offline

Сообщений: 7


Просмотр профиля
« Ответ #2 : Октябрь 12, 2017, 09:21 »

Не работает поиск "match".

Есть БД PostgreSQL.
Таблица test_1.
Поля id int,name char(50).

QSqlDatabase db;
QSqlQuery *query;
QSqlQueryModel *model;
...

db = QSqlDatabase::addDatabase("QPSQL");
...
query = new QSqlQuery(db);
model = new QSqlQueryModel;
ui->tableView->setModel(model);
...

// Заполнение таблицы
query->exec("select id,name from test_1 order by id");
model->setQuery(*query);
------------------------------------------
select,delete,insert,update работают.

Поиск перебором строк тоже работает.
Теперь пытаюсь организовать поиск с помощью match.

QModelIndexList indexList;
indexList = model->match(ui->tableView->model()->index(1,1),Qt::DisplayRole,name,1,0);

Возвращает пустой список. Хотя name существует и простым перебором находится.
Может дело в параметрах?  
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.