Как отправить только одну строку в QSqlTableModel?
Я использую QSqlTableModel со стратегией редактирования OnManualSubmit.
У меня есть возможность отменить изменения для некоторой строки с помощью метода revertRow().
Но как я могу отправить только одну строку таблицы? У меня есть только метод submitAll().
Я мог бы использовать insertRowIntoTable(), но он защищен, и я не хочу наследовать QSqlTableModel.
1 ответ
Я мог бы сохранить данные из всех грязных ячеек в некоторый QMap.
Затем вызовите revertAll(), вставьте новые строки в модель и вызовите submitAll().
А затем скопируйте несохраненные данные из списка обратно в модель.
Но это решение очень уродливо:(Кажется, что единственный способ - это унаследовать QSqlTableModel и использовать insertRowIntoTable ().
UPD. Я пробовал insertRowIntoTable(), к сожалению, он вставляет строки в БД, но не в модель:(