首页| 论坛| 消息

标题:请教一个QSqlTableModel更新的问题
作者:clickto
日期:2017-12-24 15:39
内容:

我有一个QSqlTableModel和一个QTableView绑定,现在model里面关联的数据库共有10列,我只需要显示8列,因此在view中使用ui->tableView->hideColumn(9);隐藏了显示,但是在新增记录时,这隐藏的列需要给他赋值,请问一下应该怎么做呢?
我尝试了如下:
connect(ui->action_append,&QAction::triggered,this,[=](){
if(model->insertRow(model->rowCount()))
{
model->setData(model->index(model->rowCount(),9),QVariant("01"));
});
还有model->record(model->rowCount()).setValue("unit",QVariant("01"));
这两个都没有效果,请高手帮忙!


#1 [黏过往的 12-24 20:02]
试一下removeColumn(), 或者是你hideCloumn()后第9列已经不再是9列,可能是8或者......你这种情况是可以进行设置的,我以前也遇到过,多试几次看看。
#2 [clickto 12-24 20:10]
我试过了,使用hide的话,第9列还是第9列。
而且,我使用record.setValue的使用列名的那个重载试过,如果是非隐藏的列,就可以更新,如果是隐藏的列,就没有效果。
现在就想着能不能知道怎样确定QSqlTableModel已经提交更新完数据库了,然后再手动更新相关隐藏字段。。。

回复 发表
主题 版块