QSqlRelationalTableModel setData()不起作用

时间:2013-11-07 16:09:06

标签: qt qml qt5

这是QLSqlTableModel类中的一个成员函数,它派生自QSqlRelationTableModel,为调试而修改:

void QLSqlTableModel::setQLData(int row, int column, QVariant value){
    QModelIndex qmi = index(row, column);
    QVariant originalVal = qmi.data();
    bool isSet = setData(qmi, value);
    QVariant newVal = qmi.data();
}

当我通过调试器运行它时,我的值是:

value = "B"
originalValue = "A"
isSet = true
newVal = "A"

出于某种原因,即使setData()返回true,它实际上也没有设置新数据值。我的表实现是:

QLSqlTableModel *model = new QLSqlTableModel(NULL, db);
model->setTable("tableName");
model->setEditStrategy(QSqlRelationalTableModel::OnManualSubmit);
model->generateRoleNames();
model->select();

0 个答案:

没有答案