2012-01-30 138 views
1

我已經問過,但現在我有更多的問題。如何更新數據庫連接更改後的QSqlTableModel,QTableView

所以,我有QTableView和QSQLTableModel。

pTableModel->setTable("table_name"); 
pTableView->setModel(pTableModel); 

在QTableView中,我只需要顯示具有指定名稱的列,我使用setColumnHidden()。

現在我需要更改DB並顯示具有相同名稱的表的指定列。什麼是更好的方式來通知表視圖和表模型數據庫已被更改。新DB中的表可能因列數,行數而不同,但具有所有必要的列。

現在我再次撥打

pTableModel->setTable("table_name"); 

與同桌的名字更新表模型。並呼籲

pTableView->horizontalHeader()->doItemsLayout(); 

通知表視圖約數列的可能變化。

這似乎是醜陋的,我不確定所有必要的數據都已更新。你知道更好的方法嗎?

回答

-1

在我看來,你必須實例化新與QSqlTableModel爲新的數據庫連接,並將其分配給pTableView。我認爲它更安全。

相關問題