1

OnManualSubmit編集戦略でQSqlTableModelを使用します。
revertRow()メソッドを使用して、一部の行の変更を元に戻す可能性があります。
しかし、どうすれば1行のテーブルのみを送信できますか?私はsubmitAll()メソッドしか持っていません。
insertRowIntoTable()を使用することもできますが、保護されているため、QSqlTableModelを継承したくありません。

4

1 に答える 1

0

すべてのダーティセルからのデータをいくつかのQMapに保存できました。
次に、revertAll()を呼び出し、モデルに新しい行を挿入して、submitAll()を呼び出します。
次に、保存されていないデータをリストからモデルにコピーして戻します。
しかし、この解決策は非常に醜いです:( QSqlTableModelを継承し、insertRowIntoTable()を使用することが唯一の方法のようです。

UPD。insertRowIntoTable()を試しましたが、残念ながら行はDBに挿入されますが、モデルには挿入されません:(

于 2013-01-18T13:56:50.373 に答える