Здравствуйте!
Видимо, я не понимаю чего-то принципиального, объясните, пожалуйста.
Есть QSqlTableModel + QTableView, мне надо отредактировать текущую запись в QDialog-е.
Пробовал вариант, когда в QDialog передается QRecord, потом значения полей записи вручную разбрасываются в виджеты, затем так же вручную обратно и запись возвращается в модель.
Это тупо работает, но если в диалоге используется QComboBox, которому передаётся отдельная модель для строк списка (setModel), я не знаю
как получить значение ключа выбранной строчки (не индекс строки, а связанный с ним ключ), чтобы вернуть его в запись. Как?
Пробую через QDataWidgetMapper.
Где взять модель для него? Передать ссылку на ту же модель, что и для QTableView?
И
как тогда выйти на редактирование выбранной записи? Я не нашёл ничего похожего на "текущую запись", как в VCL или ADO.NET. Краем глаза видел пример, когда модель фильтруется по ключу, но ведь тогда в списке тоже останется одна запись? (я не пробовал)
Или делать отдельную такую же модель для диалога?
У меня есть некоторый опыт в Delphi и Visual Studio (и, да, я стараюсь больше писать руками, а не в дизайнере), но Qt что-то ломает мне мозг...
Если дадите пример "вот список - щёлк - вот диалог - сохранить - вернулись в список" , я буду очень признателен.