QSqlTableModel + QTableView + sort -> Debug ?, Стабильный вылет в Deb-g (MySQL) при сортировке |
Здравствуйте, гость ( Вход | Регистрация )
QSqlTableModel + QTableView + sort -> Debug ?, Стабильный вылет в Deb-g (MySQL) при сортировке |
JohnZ |
30.7.2015, 10:44
Сообщение
#1
|
Участник Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: 0 |
Всем Здравия !
Прошу прощения если не в том разделе спрашиваю, может это к относится к MVC ... Можно будет перенести. Проблема следующая. Есть QSqlTableModel + QTableView. QSqlTableModel слегка изменена в плане видимых колонок, но думаю что это неважно. Если выводится таблица полностью, т.е. без фильтра, сортировка по нажатию на заголовок колонки работает без проблем, но если включен фильтр ( model->setFilter(Str); ) и попытке сортировать, имеем стабильный вылет в Debug, причём вылетает где-то в недрах драйвера MySQL по нулевому указателю. Где копать ? Если нужна модель, - выложу, но как я уже сказал, изменения минимальны, да и без фильтра ведь работает ... Помогите plz кто в сталкивался или в курсе. |
|
|
lanz |
30.7.2015, 13:17
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Проблема обычно в новом коде, вряд ли в драйвере.
А как вы меняете видимые колонки? |
|
|
JohnZ |
30.7.2015, 15:56
Сообщение
#3
|
Участник Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: 0 |
Проблема обычно в новом коде, вряд ли в драйвере. А как вы меняете видимые колонки? Согласно заданного списка. Раскрывающийся текст #include "fptablemodel.h" fpTableModel::fpTableModel(QObject * parent, QSqlDatabase db) : QSqlTableModel(parent, db) { colsInList = colsInForm = 0; } fpTableModel::~fpTableModel() { } void fpTableModel::setTable ( const QString & tableName ) { QSqlTableModel::setTable ( tableName ); setEditStrategy(QSqlTableModel::OnRowChange); // setEditStrategy(QSqlTableModel::OnManualSubmit); // select(); colsInList = colsInForm = QSqlTableModel::columnCount(); } void fpTableModel::setDefFields(QStringList &df) { DefFields = df; colsInList = df.count(); } void fpTableModel::setFilter(const QString & filter) { QSqlTableModel::setFilter ( filter ); select(); } В общем-то ничего особенного, просто запоминаю переданный список, согласно которого потом в форме создаю колонки из этого списка. Если установки небыло, тогда показываются все колонки, т.е. вся таблица. |
|
|
Текстовая версия | Сейчас: 22.11.2024, 17:53 |