找回密码
 立即注册
收起左侧

QSqlRelationalTableModel + QTableView如果显示外表的多个字段?

2
回复
8924
查看
[复制链接]

尚未签到

来源: 2015-12-5 23:25:40 显示全部楼层 |阅读模式
1Qter豆
使用QSqlRelationalTableModel  设置了外表关联,如果需要在tableview中显示外表的多个字段有没有办法呢?

例如有表a和b,表a 通过字段 b_id,关联到表b中的主键id。使用QTableView 显示表a的内容,通过设置relation,可以把b_id显示为b_name的内容。
我的需求是想在QTableView中同时显示表b中的 name, age,** 等信息,有没有好的办法实现呢?

回复

使用道具 举报

尚未签到

2015-12-6 13:45:48 显示全部楼层
table_a有a_id, name, b_id
table_b表b_id,name
简单点儿,直接写SQL
select a_id, name, (select name from table_b where table_b.b_id=b_id) as "name_b" from table_a;
回复

使用道具 举报

尚未签到

2015-12-6 14:42:10 显示全部楼层
smallai 发表于 2015-12-6 13:45
table_a有a_id, name, b_id
table_b表b_id,name
简单点儿,直接写SQL

我就是想利用Qt现有的model带来的便利,如果自己写SQL,就得自己重写QSqlRelationalTableModel。我想到这样一个方法,不知是不是得通知创建一个视图,再使用QSqlTableModel来操作这个视图?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了