我有3张桌子:
我想使用QTableView
和QSqlRelationalTableModel
在GUI上显示订单表(订单的开始和结束日期,用户的姓氏,服务名称和服务价格) 。这是我设置表格和视图的地方:
this->ordersTable = new QTableView(this);
this->model = new QSqlRelationalTableModel(this, db->getDB());
this->model->setTable("ORDERS");
this->model->setRelation(3, QSqlRelation("USERS", "id", "lastname"));
this->model->setRelation(4, QSqlRelation("SERVICE", "id", "name"));
this->model->setRelation(4, QSqlRelation("SERVICE", "id", "price"));
this->model->select();
this->ordersTable->setModel(this->model);
this->ordersTable->hideColumn(0);
但是,当我进行第三次setRelation
调用时,它似乎覆盖了第二个调用:我只能看到GUI上的价格,而不是名称和价格。我需要将两个字段 - 服务表中的名称和价格放到我的视图中。
答案 0 :(得分:2)
试试这个:
this->model->setRelation(4, QSqlRelation("SERVICE", "id", "name, price"));