![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| CHERRY |
|
||||
![]() Прохожий ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 17.6.2002 Где: Одесса Репутация: нет Всего: -2 |
VirtualTreeView - типа файловый менеджер. Необходимо после заполнения сразу отсортировывать список. По клику на заголовках колонок сортировка работает отлично.
Повесил сортировку на кнопку
Не сортируется. Как сделать, чтобі список сортировался без клика по заголовку? --------------------
Трясу надежды ветвь, но где желанный плод? |
||||
|
|||||
| XperT |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 19.8.2006 Репутация: 2 Всего: 4 |
Попробуйте так:
Если не поможет, значит что-то у вас не так, потому что у меня прекрасно сортирует используя такой код:
|
||||
|
|||||
| CHERRY |
|
|||
![]() Прохожий ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 17.6.2002 Где: Одесса Репутация: нет Всего: -2 |
В том то и фишка, что что-то не так! Не работает ваш код.
Я думаю, что конструкция
нужна, чтобы не возникало "лишнего" мерцания. TVirtualStringTree - богатый на различные настройки компонент. Возможно есть что-то типа VT.Options.Штучка, что решает проблему. Я найти такую штучку пока не смог. Поэтому и взываю к помощи. Найду сам решение - отпишусь. --------------------
Трясу надежды ветвь, но где желанный плод? |
|||
|
||||
| CHERRY |
|
|||
![]() Прохожий ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 17.6.2002 Где: Одесса Репутация: нет Всего: -2 |
Причем, что интересно.
Если кликом по хидеру отсортировать колонку в направлении sdDescending код
отсортировует колонку в соответствии со своим направлением(sdAscending). Естественно конструкции (VT.BeginUpdate; VT.EndUpdate;) не имеют значения. Т.е. сортировка VT.SortTree(0, sdAscending, true); работает, но не всегда. --------------------
Трясу надежды ветвь, но где желанный плод? |
|||
|
||||
| XperT |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 19.8.2006 Репутация: 2 Всего: 4 |
Есть предположение, что колонка, по которой идёт сортировка при клике на хидер отличается от 0.
|
|||
|
||||
| CHERRY |
|
|||
![]() Прохожий ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 17.6.2002 Где: Одесса Репутация: нет Всего: -2 |
Нет, с колонками все в порядке. Но спасибо, мысль здравая. Я понял, что проблема в алгоритме сортировки, поскольку VTCompareNodes
отрабатывает, но в зависимости от состояния списка(файлы-папки) есть неучтенные ситуации(папка-файл, файл-папка). Задача сортировки состоит в том, чтобы папки сортировались отдельно от файлов и находились всегда в начале списка, а файлы сортировались сами по себе и находились всегда после папок, кроме того "точка корня ".."" должна быть всегда вверху(как в TC или FAR). Огромное спасибо. Проблема обнаружена. Буду думать над алгоритмом сортировки. --------------------
Трясу надежды ветвь, но где желанный плод? |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |