Хранилища Subversion OpenInventory

Редакция

Редакция 51 | К новейшей редакции | Авторство | Сравнить с предыдущей | Последнее изменение | Открыть журнал | Скачать | RSS

#include "mymodel.h"

MyModel::MyModel(QObject *parent) :
      QSqlTableModel(parent)
{
    setEditStrategy(QSqlTableModel::OnManualSubmit);
}

Qt::ItemFlags MyModel::flags(
         const QModelIndex &index) const {
Qt::ItemFlags flags = QSqlTableModel::flags(index);
if (index.column() != 3)
     flags |= Qt::ItemIsEditable;
//if (index.column() == 4)
//     flags |= Qt::ItemIsUserCheckable;
else flags &= ~Qt::ItemIsEditable; // çàïðåùàåì ðåäàêòèðîâàíèå òðåòüåãî ñòîëáöà
return flags;
}


bool MyModel::setData(const QModelIndex &index, const QVariant &value, int role) {
    bool lResult = false;
    lResult = QSqlTableModel::setData(index, value, role);
    if (lResult) {
        QSqlRecord rec = record(index.row());
        rec.setValue(index.column(), value);
        rec.setGenerated(index.column(), true);
        lResult = updateRowInTable(index.row(), rec);
    }
    return lResult;
}