|
|
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Подскажите, плиз, как у нем с включенным мультиселектом организовать запрет выделения определенных узлов. Подходящего обработчика что-то не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 13:28 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Vlad F, Установи в дата какой-нибудь флажок и проверяй его на селекте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 13:39 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Gator, Флажков полно, - событие какое? Ничего похожего на OnCanSelectNode пока что не наблюдаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 13:57 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Vlad F, OnChange(Sender: TBaseVirtualTree; Node: PVirtualNode); Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 14:07 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Vlad FПодскажите, плиз, как у нем с включенным мультиселектом организовать запрет выделения определенных узлов. Подходящего обработчика что-то не нашел. А в фокус такие узлы можно устанавливать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 14:07 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Vlad F, см. реализацию TBaseVirtualTree.AddToSelection и TBaseVirtualTree.RemoveFromSelection. Оба вызывают для нода метод Change(), который дергает OnChange(), а затем OnStateChange(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 14:26 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
ёёёёёVlad F, OnChange(Sender: TBaseVirtualTree; Node: PVirtualNode); Код: pascal 1. 2. 3. 4. 5. 6. 7. Поразительно, событий туева хучс, а годного нет. OnChange: if Sender.GetNodeLevel(Node) = 0 then Sender.FocusedNode := nil; // не работает, корневые продолжают выделяться (toFullRowSelect = True, toMultiSelect = True) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 14:37 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
ёёёёёVlad F, см. реализацию TBaseVirtualTree.AddToSelection и TBaseVirtualTree.RemoveFromSelection. Оба вызывают для нода метод Change(), который дергает OnChange(), а затем OnStateChange(). Высокоуровнего, не через per anus ad astrum, решения опять нет, так я понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 14:41 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Vlad F, ты хочешь универсальную кнопку "сделай всё за меня"? Зачем пошёл в программёра, а не в маги? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 14:47 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Gator, В обработчике (каком?) это парой строк нельзя сделать? Если не парой, то четырьмя? десятью? сколькими? Никто что ли примера, помочь, не может привести? Я только пару недель как его поставил и надо дофига функционала с DevExpress оперативно на него перевести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 15:12 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Vlad F, Код: pascal 1. может это условие не срабатывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 15:29 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
cptngrb, Все срабатывает, дело, видимо в принципиальной нерешаемости данной задачи в ейном OnChange. Не с первой попытки, но нашел таки надёжное решение в сети четырьмя строками в BeforeItemPaint (!), работающее даже в случае выделения сразу пачки записей со шрифтом. Тему можно закрывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 15:45 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
P.S. Однако, через эту самую, к звёздам.)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 15:46 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Vlad F, Судя по всему это ошибка ТВОЕЙ "архитектуры" Вот смотри: - сначала ты сервер тебе отдаёт результат селекта пусть даже без всяких where или where 1=1 - затем ты выбираешь ещё какие-то записи мультиселектом (т.е. накладываешь свой where id in (id1, id2, idk, idn...) - потом ты зачем-то хочешь "корректировать" уже этот мультиселектный список. Почему бы не морочиться с этой байдой, а просто обойтись тупыми ДУМЯ деревьями. Слева - полное дерево. Справа - пустое. Посередине кнопки: >>> Добавить выделенные (слева) и <<< Убрать выделенные (справа) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 22:11 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Gator, Не устал ещё воду в ступе толочь? Имеешь хоть какое-то решение поставленного вопроса, приведи его и дело с концом. Иначе, имхо, иногда лучше жевать, чем говорить. Задача, оказывается, через одно место, но все же решается, а общая проблема VST , имхо, состоит в том, что у него нет не только OnCanSelectNode, как у аналога из DevExpress, но и, вообще, ни одного события вокруг выделения узла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 23:53 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
Vlad FПоразительно, событий туева хучс, а годного нет. OnChange: if Sender.GetNodeLevel(Node) = 0 then Sender.FocusedNode := nil; // не работает, корневые продолжают выделяться (toFullRowSelect = True, toMultiSelect = True) Вы просто не умеете их готовить. Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2019, 06:31 |
|
||
|
VirtualTreeView: запрет выделения определенных узлов
|
|||
|---|---|---|---|
|
#18+
ain-2, Все правильно, но вопрос был в конце концов в каком обработчике подобный код поместить. Правильный ответ нашелся вот здесь: http://forum.vingrad.ru/forum/topic-299578/kw-virtualstreengtree.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2019, 08:02 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=72&tid=2039437]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 323ms |

| 0 / 0 |
