如何在QSqlTableModel中只提交一行?

时间:2013-01-18 13:23:29

标签: submit row qsqltablemodel

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

1 个答案:

答案 0 :(得分:0)

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

UPD。我尝试过insertRowIntoTable(),不幸的是它将行插入到数据库中而不是插入到模型中:(