Выбор строки после редактирования, QSqlQueryModel + QSortFilterProxyModel + QTableView |
Здравствуйте, гость ( Вход | Регистрация )
Выбор строки после редактирования, QSqlQueryModel + QSortFilterProxyModel + QTableView |
512es |
1.12.2009, 15:05
Сообщение
#1
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
Всем привет!
Много гуглил, искал решение, чего только не перепробовал. Но проблему так и не удалось решить: На основе примера *\qt\examples\sql\querymodel\editablesqlmodel.cpp сделал редактируемую QSqlQueryModel, и прикрутил к ней QSortFilterProxyModel. Вот кусок кода, по которому видно, что я уже перепробовал:
Задача: после редактирования ячейки обновить отображаемые данные в таблице и оставить выбранной ячейкой ту, которую мы редактировали. Для этой цели вызываю сигнал emit signalGoToClientById(index), который соединён со слотом:
Оно работает, но если я выхожу из редактирования кликом мышки, то после того как выставить нужную ячейку, курсор переходит на ту строку, куда я кликнул. Помогите люди добрые, наверняка вы уже сталкивались с этой же проблемой.. Сообщение отредактировал 512es - 1.12.2009, 15:07 |
|
|
512es |
9.12.2009, 21:46
Сообщение
#2
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
Litkevich Yuriy, за SelectionModel спасибо. Хоть мне и не нужно многостроковое выделение, зато с помощью QItemSelectionModel теперь могу выделять строку прямо из класса модели, без сигналов.
Вот только всё равно это не решило проблему. QItemSelectionModel, setCurrentIndex() и selectRow() дают тот же результат (в моём случае). Делаю вот так:
Получаем вот такой результат:
Может через Block Signal? Вот только не знаю, какой.. И откуда он берётся.. |
|
|
Текстовая версия | Сейчас: 12.12.2024, 11:45 |