标题:怎样取得QSqlTableModel中的被编辑过的模型索引?
作者:kytexzy
日期:2006-12-29 15:58
内容:
当我把QSqlTableModel的EditStrategy设为OnManualSubmit时,要调用submitAll()才能把缓存的改动提交,请问在submitAll()中我们怎样取得被编辑过的项目的模型索引呢?
#1 [XChinux 01-07 17:24]
看看下面的代码试试:
void CompanyDialog::on_table_beforeUpdate(int row, QSqlRecord &record)
{
if (record.isNull("pccode") == false && record.value("pccode").toString() == "")
{
QMessageBox::information(this, "提示信息", "计算机代码不能为空且必须唯一", "确定");
record.setGenerated("pccode", false);
}
if (record.isNull("pname") == false && record.value("pname").toString() == "")
{
QMessageBox::information(this, "提示信息", "扣缴义务人名称不能为空且必须唯一", "确定");
record.setGenerated("pname", false);
}
}
void CompanyDialog::on_table_beforeInsert(QSqlRecord &record)
{
if (record.value("pccode").toString() == "" || record.value("pname").toString() == "")
{
QMessageBox::information(this, "提示信息", "计算机代码和扣缴义务人名称不能为空且必须唯一", "确定");
record.clear();
table.removeRow(table.rowCount() - 1);
}
}