1

我使用 QSqlTableModel 和 OnManualSubmit 编辑策略。
我有可能使用 revertRow() 方法恢复某些行的更改。
但是我怎样才能只提交一行表格呢?我只有 submitAll() 方法。
我可以使用 insertRowIntoTable(),但它是受保护的,我不想继承 QSqlTableModel。

4

1 回答 1

0

我可以将所有脏单元格中的数据保存到某个 QMap 中。
然后调用revertAll(),将新行插入模型并调用submitAll()。
然后将列表中未保存的数据复制回模型。
但是这个解决方案非常难看:(似乎唯一的方法是继承QSqlTableModel并使用insertRowIntoTable()。

UPD。我已经尝试过 insertRowIntoTable(),不幸的是它将行插入数据库但没有插入模型:(

于 2013-01-18T13:56:50.373 回答