2013-01-22 96 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实例化,以便它可以从数据库填充自己并管理“特殊”条目。 –