Удаление выделенных элементов из модели |
Здравствуйте, гость ( Вход | Регистрация )
Удаление выделенных элементов из модели |
Анна |
27.7.2010, 16:46
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: 4 |
Получаю от вьювера
Хотелось бы удалить выбранные элементы, но беда в том, что в list они стоят в том порядке, в каком выделялись во вьювере (задан режим MultySelection), что не позволяет удалять в цикле, т.к. удаление элемента с меньшим индексом делает другие индексы невалидными. Может, кто знает, как по-быстрому и красиво решить эту проблему? Или нужно после каждого удаления перезапрашивать ui.TableView->selectionModel(); ? |
|
|
Анна |
28.7.2010, 8:23
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: 4 |
Litkevich Yuriy, проблема возникает в том случае, когда в sm хранятся индексы, например, в такой последовательности 9, 1 , 5 (пусть это будут номера рядов). 9 удаляется без проблем, а вот, когда удаляется 1, на месте 5-го уже находится элемент, который стоял на 6-месте. Ну и дальше понятно, чо происходит.
Или дело в сигналах beforeDelete() и deleted()? Пока сигнал deleted() не пришёл, никаких подвижек в модели не происходит и все индексы истинны? Вообще, у них что-то сказано про индексы, когда они истинны, а когда уже нет, но я это место как-то смутно поняла. Сообщение отредактировал Анна - 28.7.2010, 8:28 |
|
|
Текстовая версия | Сейчас: 12.12.2024, 14:44 |