• 4169阅读
  • 1回复

为什么QSqlRelationalTableModel 设置了OnManualSubmit 无法删除行 [复制链接]

上一主题 下一主题
离线zhangdream
 

只看楼主 倒序阅读 楼主  发表于: 2013-12-06
    model = new QSqlRelationalTableModel();
    model->setTable("call_groupchanno");
    model->setEditStrategy(QSqlTableModel::OnManualSubmit);
    model->setRelation(model->fieldIndex("ucdgroupid"), QSqlRelation("ucdgroup", "ucdgroupid", "ucdgroupname"));
    model->select();
    tableView->setModel(model);

   删除行的代码:
        int curRow = tableView->currentIndex().row();
        model->removeRow(curRow);
        model->submit();
        model->select();

   注释掉    model->setEditStrategy(QSqlTableModel::OnManualSubmit);这行能删除成功。
   加上这行就删除不了,model->removeRow(curRow);返回true。
  

离线XChinux

只看该作者 1楼 发表于: 2013-12-07
使用这个太啰嗦了,建议直接使用QStadnardItemModel+QSqlQuery+QTableView查询添加编辑修改。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个