2013-01-22 95 views
1

我已經使用QSqlQueryModel填充了組合框。這一切都正常工作,但我想添加一個額外的項目組合框,可以說「ALL_RECORDS」。這樣我可以使用組合框作爲過濾設備。將項目添加到已填充的組合框中

我顯然不想在數據庫中添加這個額外的項目,在模型填充它之後如何將它添加到組合框中?

回答

0

你可以嘗試像

select "ALL RECORDS" union (select 'field' from table) 

如查詢模型。

這樣你得到「所有記錄」作爲第一項,然後所有的人的價值觀,而不是爲了(這是MySQL的問題反正)

如果你還想在表中的值是下令,你應該看看這個消息

http://forums.mysql.com/read.php?97,144205,241169#msg-241169

這說明一個可能的解決方案,因爲你使用MySQL

+0

嗨,感謝您的回覆。我想我可以在MySql查詢上解決它,只是試圖避免它,因爲我在幾個小部件中使用模型。我想我將不得不爲這個組合框專門製作一個模型。再次感謝! – user1028826

1

你可以使用代理模式,需要得到它的兩個模型的數據,一個是你的默認值,另一個用於數據庫,並用它來填充您的QComboBox

+0

我有一個非常類似的問題,想向QComboBox添加一個'None'選項,並且這樣做。我建議使用QAbstractListModel子類,通過引用QSqlQueryModel實例化,以便它可以從數據庫填充自己並管理「特殊」條目。 –