Редакция 51 | К новейшей редакции | Содержимое файла | Последнее изменение | Открыть журнал | RSS
Редакция | Автор | № строки | Строка |
---|---|---|---|
48 | pingvin | 1 | #include "mymodel.h" |
2 | |||
3 | MyModel::MyModel(QObject *parent) : |
||
4 | QSqlTableModel(parent) |
||
5 | { |
||
6 | setEditStrategy(QSqlTableModel::OnManualSubmit); |
||
7 | } |
||
8 | |||
9 | Qt::ItemFlags MyModel::flags( |
||
10 | const QModelIndex &index) const { |
||
11 | Qt::ItemFlags flags = QSqlTableModel::flags(index); |
||
12 | if (index.column() != 3) |
||
13 | flags |= Qt::ItemIsEditable; |
||
14 | //if (index.column() == 4) |
||
15 | // flags |= Qt::ItemIsUserCheckable; |
||
16 | else flags &= ~Qt::ItemIsEditable; // |
||
17 | return flags; |
||
18 | } |
||
19 | |||
20 | |||
21 | bool MyModel::setData(const QModelIndex &index, const QVariant &value, int role) { |
||
22 | bool lResult = false; |
||
23 | lResult = QSqlTableModel::setData(index, value, role); |
||
24 | if (lResult) { |
||
25 | QSqlRecord rec = record(index.row()); |
||
26 | rec.setValue(index.column(), value); |
||
27 | rec.setGenerated(index.column(), true); |
||
28 | lResult = updateRowInTable(index.row(), rec); |
||
29 | } |
||
30 | return lResult; |
||
31 | } |