Russian Qt Forum

Qt => Базы данных => Тема начата: NetWorm от Ноябрь 25, 2012, 12:11



Название: вопрос по QSqlRelationalTableModel;
Отправлено: NetWorm от Ноябрь 25, 2012, 12:11
Вопрос простой! Вобщем делаю так
Код:
    _model = new QSqlRelationalTableModel;
    _model->setTable(_t_dogovori);
    _model->setRelation(1,QSqlRelation(_nomenklatura,"id","name"));
    _model->setRelation(3,QSqlRelation(_objects,"id","name"));
    _model->setFilter("parent = " + QString::number(_ID));
    _model->select();
    _model->setHeaderData(1,Qt::Horizontal,QObject::tr("Наименование"));
    _model->setHeaderData(3,Qt::Horizontal,QObject::tr("Объект"));

Но потом мне необходимо получить значение в колонке 1.
Я делаю так.
Код:
_model->itemData(_model->index(index.row(),1)).value(0).toInt();

Но получается что эта строчка возвращает не id, а возвращает name.
Как мне с таким бороться??


Название: Re: вопрос по QSqlRelationalTableModel;
Отправлено: kataklysm от Ноябрь 25, 2012, 16:05
Вопрос простой! Вобщем делаю так
Код:
    _model = new QSqlRelationalTableModel;
    _model->setTable(_t_dogovori);
    _model->setRelation(1,QSqlRelation(_nomenklatura,"id","name"));
    _model->setRelation(3,QSqlRelation(_objects,"id","name"));
    _model->setFilter("parent = " + QString::number(_ID));
    _model->select();
    _model->setHeaderData(1,Qt::Horizontal,QObject::tr("Наименование"));
    _model->setHeaderData(3,Qt::Horizontal,QObject::tr("Объект"));

Но потом мне необходимо получить значение в колонке 1.
Я делаю так.
Код:
_model->itemData(_model->index(index.row(),1)).value(0).toInt();

Но получается что эта строчка возвращает не id, а возвращает name.
Как мне с таким бороться??

http://doc.qt.digia.com/qt/qsqlrelationaltablemodel.html#data


Название: Re: вопрос по QSqlRelationalTableModel;
Отправлено: NetWorm от Ноябрь 25, 2012, 17:27
Пробовал я и это. Всеравно возвращает name