Russian Qt Forum

Qt => Базы данных => Тема начата: c00ker от Ноябрь 22, 2007, 01:35



Название: QSqlRelationalTableModel, сортировка в relational column
Отправлено: c00ker от Ноябрь 22, 2007, 01:35
Создаю соотвествие:

qrm->setRelation(1, QSqlRelation("srvtable", "srv_id", "lc_nm"));
qrm->setSort(1, Qt::AscendingOrder);

Ок, в поле показывается значение lc_nm из подчиненной таблицы srvtable.
Но в самом выпадающем списке сортировка происходит по srv_id.. Как сделать сортировку по lc_nm ?


Название: Re: QSqlRelationalTableModel, сортировка в relational column
Отправлено: crocus от Ноябрь 22, 2007, 11:24
Код:
	streetIdx = modelFlats->fieldIndex( "street_cod" );
modelFlats->setRelation( streetIdx, QSqlRelation( "tbl_street", "street_cod", "street_name" ) );
cdi.comboStreet->setEditable ( true );
QAbstractItemModel  * modelStreet = modelFlats->relationModel( streetIdx );
int sCol_rm = modelFlats->relationModel( streetIdx )->fieldIndex( "street_name");
modelStreet->sort(sCol_rm, Qt::AscendingOrder);
cdi.comboStreet->setModel( modelStreet );
cdi.comboStreet->setModelColumn( sCol_rm );
cdi.comboStreet->setCurrentIndex( 0 );
           cdi.comboStreet->setAutoCompletion(true);


Название: Re: QSqlRelationalTableModel, сортировка в relational column
Отправлено: c00ker от Ноябрь 22, 2007, 22:28
большое спасибо, помогло! ;)


Название: Re: QSqlRelationalTableModel, сортировка в relational column
Отправлено: stealth от Ноябрь 23, 2007, 20:28
crocus, а ты как-нибудь обрабатываешь новые улицы, которые вводят в комбобокс, но в модели которых нет? Как их автоматом добавлять в модель?


Название: Re: QSqlRelationalTableModel, сортировка в relational column
Отправлено: AlexVR от Май 07, 2008, 16:14
Я добавляю UNIQUE KEY, при создании таблицы, это намного упрощает дальнейшую работу.