Автор: maint 10.4.2015, 5:20
Есть конструкция
model = new QSqlRelationalTableModel;
model->setTable(...);
model->setRelation(2, QSqlRelation("table", "id", "name"));
ui->view->setModel(model);
ui->view->setItemDelegate(new QSqlRelationalDelegate(ui->view));
В самом выпадающем списке сортировка происходит по id. Кто подскажет как сделать сортировку по name? Ничего в голову не приходит
Автор: lanz 14.4.2015, 14:59
http://doc.qt.io/qt-4.8/qsortfilterproxymodel.html ?
Автор: maint 14.4.2015, 15:03
Цитата(lanz @ 14.4.2015, 19:59)
http://doc.qt.io/qt-4.8/qsortfilterproxymodel.html ?
это тут при чем? Мне сортировать не таблицу, а выпадающий combobox, который relation определен
Автор: lanz 14.4.2015, 15:08
А какая разница? Вешаете на свою модель QSortFilterProxyModel, а уже ее передаете в комбобокс. Не забудьте только потом перемаппить индексы.
Автор: maint 14.4.2015, 15:18
Цитата(lanz @ 14.4.2015, 20:08)
А какая разница? Вешаете на свою модель QSortFilterProxyModel, а уже ее передаете в комбобокс. Не забудьте только потом перемаппить индексы.
вы текст смотрели?
куда передать, вот описание столбца model->setRelation(2, QSqlRelation("table", "id", "name"));
Автор: lanz 14.4.2015, 15:23
Конечно нет
В вашем случае можно попробовать
http://doc.qt.io/qt-4.8/qsqlrelationaltablemodel.html#relationModel
И у этой можели вызвать setSort по нужной колонке. Потом возможно нужен будет select, надо будет вечером попробовать.
Автор: maint 14.4.2015, 15:32
Цитата(lanz @ 14.4.2015, 20:23)
Конечно нет
В вашем случае можно попробовать
http://doc.qt.io/qt-4.8/qsqlrelationaltablemodel.html#relationModel
И у этой можели вызвать setSort по нужной колонке. Потом возможно нужен будет select, надо будет вечером попробовать.
если бы можно было вызвать setSort я бы сделал. Не прокатывает
Автор: lanz 14.4.2015, 16:56
Цитата
Не прокатывает
Не вызывается? Или не сортирует?
Автор: maint 14.4.2015, 17:02
Цитата(lanz @ 14.4.2015, 21:56)
Цитата
Не прокатывает
Не вызывается? Или не сортирует?
не сортирует
Автор: lanz 14.4.2015, 21:35
У меня сортирует, см. вложение
Единственный подвох - если foreign key в дочерней таблице называется как один из столбцов в основной, его шатает.
Автор: maint 15.4.2015, 4:55
Цитата(lanz @ 15.4.2015, 2:35)
У меня сортирует, см. вложение
Единственный подвох - если foreign key в дочерней таблице называется как один из столбцов в основной, его шатает.
блин, хорошо что дали пример. Глаз замылился, перепутал в this->mdl->relationModel( 7 )->setSort( ФИГНЯ, Qt::AscendingOrder )^ там где ФИГНЯ, не тот номер столбца ставил. В ваш пример влебил базу и все сработало
Автор: lanz 15.4.2015, 9:11
Цитата
Глаз замылился, перепутал в this->mdl->relationModel( 7 )->setSort( ФИГНЯ, Qt::AscendingOrder )^
Самое смешное, когда писал пример, сначала в этом же самом месте поставил неправильный номер столбца