2010-11-12 31 views
0

J'essaie de corriger le comportement étrange de QtableView: si l'on supprime une ligne mais pas de données de validation, elle reste visible dans la grille. Donc, j'ai besoin de récupérer des données sur les lignes supprimées et savoir quand nous rejetons les modifications. Info besoin est stocké dansPuis-je avoir accès à d_func() de QTableView à partir de sa sous-classe?

d->cache[row].op 

de QTableView. Puis-je l'obtenir d'une manière ou d'une autre dans ma sous-classe?

Si non, puis-je obtenir des informations sur les suppressions en cours? La seule façon dont je sais est de stocker des données lorsque removeRows ou revertRow est en cours d'exécution, mais cela conduit à une duplication de données inutile et n'est pas simple.

+0

Il me semble que vous faites quelque chose de mal. QTableView lui-même ne doit pas stocker de données, c'est juste l'affichage des données du modèle. Lisez à propos de Model/View/Delegate dans Qt docs http://doc.qt.nokia.com/4.7/model-view-programming.html –

Répondre

1

Je ne peux pas. C'est par conception. La seule chose que je peux est de réimplémenter la classe de QSqlTableModel, qui a ouvert l'entête de pimpl.