Задача в следующем, есть форма добавления\редактирования есть таблица у неё есть контекстное меню, и вот например пользователь на одной из записи кликнул редактировать, открылась форма он что то изменил, потом кликнул Ок затем выполнилась хранимка в БД, а потом обновление таблицы, но нужно что бы указатель остался на том же месте сделал так
...
поменял строки местами, и всё работает, но если можно расскажите как это лудше организовать.
Я похожую задачу сколько-нибудь элегантно тоже не могу решить..
http://www.prog.org.ru/index.php?topic=8096.msg48534#msg48534 - там максимум, до чего смог додуматься. Вобщем это работает, да и народ вроде как одобрил:).. Но не красиво блин.. не нравится. С большим числом строк это наверное должно все же работать, хотя не проверял.. Уткнулся в другое: если таблиц много, то есть большой соблазн для работы с ними по очереди (а так вполне устраивает) использовать одну и ту же вьюху, модель, и маппер (диалоги редактирования можно привинчивать и отвинчивать - для разных таблиц они отличаются). И сделать так, чтобы нахождение и подсвечивание выполнялось как слот или просто функция например при вызове submit() для модели.. (чтобы этот код, будучи раз вставленым, работал для всех таблиц) Главная трудность - id вытащить до submit(), а поиск выполнить - после. Сохранять его в глобальной переменной не хочется - некрасиво, хотя написать такой слот и привинтить его например к beforeUpdate ( int row, QSqlRecord & record ) можно. Пока думаю..
Есть и правда большой соблазн обойтись без переоткрывания запроса