Здравствуйте, гость ( Вход | Регистрация )
|
Анна |
27.7.2010, 16:46
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: 4
|
Получаю от вьювера
Хотелось бы удалить выбранные элементы, но беда в том, что в list они стоят в том порядке, в каком выделялись во вьювере (задан режим MultySelection), что не позволяет удалять в цикле, т.к. удаление элемента с меньшим индексом делает другие индексы невалидными. Может, кто знает, как по-быстрому и красиво решить эту проблему? Или нужно после каждого удаления перезапрашивать ui.TableView->selectionModel(); ? |
|
|
|
![]() |
|
Litkevich Yuriy |
28.7.2010, 8:37
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
вообще я использую модель QSqlTableModel и политику ManualSubmit, поэтому с индексами ничего не происходит. Т.к. данные не удаляются сразу и это не приводит к перестраиванию индексов.
Если у тебя не возможно реализовать такой вариант, то нужно из индексов получить постоянные индексы, и только потом начинать удаление. Примерно так:
|
|
|
|
Анна Удаление выделенных элементов из модели 27.7.2010, 16:46
igor_bogomolov Для QModelIndex перегружен оператор меньше (<),... 27.7.2010, 18:27
Litkevich Yuriy Анна, я использую такой код:
void ModelController... 28.7.2010, 5:50
Анна Litkevich Yuriy, проблема возникает в том случае, ... 28.7.2010, 8:23
Анна С QPersistentModelIndex вроде бы получилось. Спаси... 28.7.2010, 10:00![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 8.1.2026, 17:08 |