QSqlRelationalTableModel + QSortFilterProxyModel: сокрытие и своп столбцов |
Здравствуйте, гость ( Вход | Регистрация )
QSqlRelationalTableModel + QSortFilterProxyModel: сокрытие и своп столбцов |
fantom84 |
12.10.2011, 9:20
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 1 Регистрация: 12.10.2011 Пользователь №: 2940 Спасибо сказали: 1 раз(а) Репутация: 0 |
Здравствуйте! У меня есть модель связанная с некой таблицей в БД. Предпложим, что в этой таблице есть столбцы: A, B, C, D.
В качестве представления используется QTableView, порядок отображения столбцов такой же как и порядок их следования в таблице. Требуется при помощи QSortFilterProxyModel реализовать сокрытие столбцов и их своп. Т.е., например, требуется скрыть столбец D и поменять местами столбцы A и B. В итоге, при отображении должен получится следующий порядок следования столбцов: B, А, С. Сокрытие столбцов силами QSortFilterProxyModel реализуется без проблемм, посредством метода filterAcceptsColumn(). А вот с реализацией свопа столбцов возникли трудности, т.к. в QSortFilterProxyModel реализован Mapping с учетом сортировки строк, а вот для свопа столбцов Mapping не реализован, т.е. изначально в реализации QSortFilterProxyModel подразумевается что столюцы менять местами не будут. Попытки переопределить mapToSource() и mapFromSource() ни к чему не привели. Такое чувство, что надо полностью перпеписывать QSortFilterProxyModel для свопа столбцов, чего очень бы не хотелось. Хотелось бы услышать советы тех, кто уже сталкивался с такой проблемой. Может быть есть менее затратное решение? P.S. В случае с QTableView скрыть и сделать своп столбцов можно через horizontalHeader(). А, если в дальнейшем для отображения будет использоваться QTreeView, которая будет отображать иерархию данных? Вообщем хотелось бы все реализвать силами QSortFilterProxyModel, а не представлений, основная проблема это своп столбцов (. |
|
|
Steklova Olga |
17.10.2011, 17:23
Сообщение
#2
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Спасибо Вам большое-пребольшое, fantom84, за то, что подсказали, как поменять местами
столбцы в QTableView. Никак не могла найти, как это сделать |
|
|
Текстовая версия | Сейчас: 28.11.2024, 19:52 |