Russian Qt Forum
Ноябрь 06, 2024, 06:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlRelationalTableModel + QSortFilterProxyModel сокрытие и своп столбцов  (Прочитано 2616 раз)
fantom84
Гость
« : Октябрь 11, 2011, 17:23 »

Здравствуйте! У меня есть модель связанная с некой таблицей в БД. Предпложим, что в этой таблице есть столбцы: A, B, C, D.
В качестве представления используется QTableView, порядок отображения столбцов такой же как и порядок их следования в таблице. Требуется при помощи QSortFilterProxyModel реализовать сокрытие столбцов и их своп. Т.е., например, требуется скрыть столбец D и поменять местами столбцы A и B. В итоге, при отображении должен получится следующий порядок следования столбцов: B, А, С. Сокрытие стобцов силами QSortFilterProxyModel реализуется без проблемм, посредством метода filterAcceptsColumn(). А вот с реализацией свопа столбцов возникли трудности, т.к. в QSortFilterProxyModel реализован Mapping с учетом сортировки строк, а вот для свопа столбцов Mapping не реализован. Попытки переопределить mapToSource() и mapFromSource() ни к чему не привели. Такое чувство, что надо полностью перпеписывать QSortFilterProxyModel для свопа столбцов, чего очень бы не хотелось. Хотелось бы услышать советы тех, кто уже сталкивался с такой проблемой. Может быть есть менее затратное решение?

P.S. В случае с QTableView скрыть и сделать своп столбцов можно через horizontalHeader(). А, если в дальнейшем для отображения будет использоваться QTreeView, которая будет отображать иерархию данных? Вообщем хотелось бы все реализвать силами QSortFilterProxyModel, а не представлений, основная проблема это своп столбцов (.
« Последнее редактирование: Октябрь 11, 2011, 17:28 от fantom84 » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.075 секунд. Запросов: 20.