Стандартное использование Model/View в части SQL:
Определены QSqlRelationalTableModel с запросом QSqlQuery, всё отображается в QTableView.
Мне нужно спозиционировать список выборки на строку с определённым ключом (id одной из использованных таблиц).
Как я понимаю, позиционирование можно осуществить следующими путями:
1. Саму таблицу:
QTableViewselectRow( row )
2. Спозиционировать, используя QSelectionModel:
model = self.ui.tableView.model();
selectionModel = self.ui.tableView.selectionModel();
topLeft = model.index( row, 0, QModelIndex());
selection = QItemSelection(topLeft, topLeft);
selectionModel.select(selection, QItemSelectionModel::Select);
Варианты 1 и 2 работают, но буссмысленны в моём случае, потому что я не знаю номера строки.
3. (Не работает). Попытался спозиционировать через QTableView.model().query():
model = self.ui.tableView.model()
query = model.query()
query.seek(row)
- ничего осязаемого не происходит.
Не будучи спецом по БД, я всё же подразумеваю, что нужно использовать вторичную выборку или же как-то похоже на вариант 3), т.е. двигать курсор выборки.
Как это сделать правильно? (Варианты вроде сделать ещё одно окно и там выводить только интересующую запись не устраивают, потому что пользователю требуется чтобы таблица была постоянно спозиционирована (центрирована) на интересующую его запись)
[/code]