Russian Qt Forum

Qt => Базы данных => Тема начата: Figaro от Март 21, 2011, 18:04



Название: QSqlRelationalTableModel QCombobox primary keys
Отправлено: Figaro от Март 21, 2011, 18:04
Доброго времени суток.

У меня проблема с двумя комбобоксами, использую QSqlRelationalTableModel. Не могу определить primary keys, не уверен что надо использовать QSqlRecord -  не гулять же каждый раз по модели..
Уверен, что т подобное обсуждалось, но найти не могу...


Название: Re: QSqlRelationalTableModel QCombobox primary keys
Отправлено: hank от Март 22, 2011, 09:26
Что конкретно должно получиться?
Из поста ничего не понятно.


Название: Re: QSqlRelationalTableModel QCombobox primary keys
Отправлено: Figaro от Март 22, 2011, 11:44
Что конкретно должно получиться?

Да просто не понимаю из модели или из вьюшки (QComboBox) можно получить primary key, или как нужно это делать..


Название: Re: QSqlRelationalTableModel QCombobox primary keys
Отправлено: hank от Март 22, 2011, 13:41
Код
C++ (Qt)
int id = model->data(model->index(index,id_col)).toInt();
 
index - текущий index комбобокса, на который повешена QSqlTableModel,
id_col - номер колонки в БД, в которой содержатся первичные ключи.


Название: Re: QSqlRelationalTableModel QCombobox primary keys
Отправлено: Figaro от Март 22, 2011, 14:30
Спасибо.. опробовал... а как установить на нужную строку в комбике? перебирать их все? или каким нить match'ем?


Название: Re: QSqlRelationalTableModel QCombobox primary keys
Отправлено: hank от Март 22, 2011, 16:35
QComboBox::setCurrentIndex(int index)


Название: Re: QSqlRelationalTableModel QCombobox primary keys
Отправлено: Figaro от Март 22, 2011, 16:55
чтот точно я отупел :D