我用QSqlQueryModel填充了一个组合框。一切正常,但我想在组合框中添加一个额外的项目,可以说"ALL_RECORDS"。这样我就可以将组合框用作过滤设备。
我显然不想在数据库中添加这个额外的项目,在它被模型填充后如何将它添加到组合框中?
您可以使用代理模型从两个模型中获取数据,一个用于您的默认值,另一个用于您的数据库,并使用它来填充您的QComboBox
.
你可以尝试类似的东西
select "ALL RECORDS" union (select 'field' from table)
作为模型的查询。
这样,您将“所有记录”作为第一项,然后是所有其他值,但不是按顺序排列(无论如何这是一个 mysql 问题)
如果您还希望对表中的值进行排序,则应查看此消息
http://forums.mysql.com/read.php?97,144205,241169#msg-241169
这解释了一个可能的解决方案,假设您使用 MySql