我使用QSqlTableModel和OnManualSubmit编辑策略 我有可能使用revertRow()方法恢复某些行的更改 但是我怎么才能只提交一行表呢?我只有submitAll()方法 我可以使用insertRowIntoTable(),但它受到保护,我不想继承QSqlTableModel。
答案 0 :(得分:0)
我可以将所有脏单元格中的数据保存到某些QMap中
然后调用revertAll(),将新行插入模型并调用submitAll()。
然后将未保存的数据从列表中复制回模型
但是这个解决方案非常难看:(似乎唯一的方法是继承QSqlTableModel并使用insertRowIntoTable()。
UPD。我尝试过insertRowIntoTable(),不幸的是它将行插入到数据库中而不是插入到模型中:(