QSqlRelationalModel come aggiungere 3 colonne con dati da altra tabella
-
Salve a tutti potreste darmi uno snippet funzionante per aggiungere le colonne in una QTableView? Lavoro su 4.7
La mia situazione è questa : ho implementato una classe widget contenente una QTableView caricando i dati da db MySQL tramite QSqlRelationalModel e fin qui funziona tutto alla perfezione in estrazione e aggiornamento dati db tramite QDataWidgetMapper. Mi sono accorto in seguito di dover far visualizzare all'utente anche altri 3 campi di una table clienti (ragione sociale, cognome, nome) in relazione alla table principale del mio modello tramite il codice cliente.
Visto che la relation non permette i legami 1 a N (non posso utilizzare il cod cliente per mostrare in contemporanea anche rag. Soc., cognome, nome) ho provato quindi con-un QSortFilterProxyModel con override sui metodi data, columnCount, flags intercettando l'indice delle mie nuove 3 colonne
-setSourceModel per legarlo al mio modello base funzionante (QSqlRelationalModel)
-chiamata al metodo insertColumns(3,3) del proxy che ritorna sempre truema senza avere alcun effetto e non vedendo mai comparire le colonne! Non ho errori.
Qualcuno mi può dare una mano? Non ho trovato da nessuna parte un esempio funzionante di un subclass su QSortFilterProxyModel che gestisca l'inserimento di colonne...
Se aggiungo 3 al column count (override al metodo columnCount) mi compaiono 3 nuove colonne ma ovviamente in coda alla lista e a me servirebbe inserirle tra quelle preesistenti.
Altre soluzioni sono bene accette se non devo riscrivere tutto :)Grazie in anticipo!
-