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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [qt-3.3.4] QTable и сортировка  (Прочитано 4880 раз)
Kosh
Гость
« : Май 03, 2007, 13:22 »

Ситуация такая:
 редактирую поля выделенной в таблице строки, после чего вызываю sortColumn() для всей строки.
Как узнать, на какое место переместилась моя строка после сортировки? Хочется на ней выделение удержать.
Записан
Tonal
Гость
« Ответ #1 : Май 03, 2007, 16:29 »

У нас, используется сортировка через QSortFilterProxyModel. И выделение сохраняется... Правда сама строка может вылететь с экрана. Но, это уже просто лечиться.
Да, мы ещё редактирывание грида не используем. ;-)
Записан
Sergeich
Гость
« Ответ #2 : Май 03, 2007, 16:48 »

Можно отслеживать перемещения строк в swapRows
Записан
Kosh
Гость
« Ответ #3 : Май 04, 2007, 11:13 »

Все оказалось проще, чем вы думаете!
Код:

QTableSelection sel = table->selection(table->currentSelection()); // стиль выделения должен быть SingleRow

QTableItem *item = table->item(sel.topRow(), 0); // указатель на первую ячейку в выделенной строке

... // редактирование строки, в которой находится ячейка item
...// сортировка table. меняется порядок отрисовки указателей.

table->selectRow(item->row());  // опять выделяем строку с нашей ячейкой


Только во в винде selectRow то отрабатывается, то не отрабатывается. Это зависит от FocusStyle и еще от чего-то.Сию тайну я еще не постигла. Но под отладчиком видно, что новый номер строки возвращается правильно.
Записан
Stasey
Гость
« Ответ #4 : Май 06, 2010, 20:59 »

Народ, помогите, плиз!
У меня проблема с сортировкой данных в таблице в QT 3.3.4.
Таблица QTable. Заполнена данными из базы данных из нескольких таблиц. Необходима построчная сортировка по клику на заголовок колонки.
Не подскажете, какими средствами это можно реализовать?
Буду очень признательна!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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