Отключение нажатия Shift в Flex 4 AdvancedDataGrid с включенной функцией allowMulitpleSelect - PullRequest
0 голосов
/ 16 апреля 2010

У меня есть AdvancedDataGrid, для которого я хотел бы разрешить множественный выбор. Придерживаясь нескольких ограничений, я хочу запретить выбирать элементы, которые находятся рядом друг с другом (в основном, вы не можете выбрать несколько элементов с одним и тем же родителем, и родительские элементы обрабатываются по-разному по сравнению с дочерними) Я предпочел бы остановить распространение событий, когда модификатор shift присутствует в mouseDown или click click. Я пытался использовать event.stopImmediatePropagation (), но выбор уже произошел (я пытался остановить mouseDown, щелчок, itemClick и изменить).

Я предполагаю, что мне нужно будет расширить ADG и переопределить некоторые функции. Кто-нибудь есть какие-либо идеи, чтобы остановить это, прежде чем он изменяет массив selectedItems без необходимости создавать свой собственный класс ADG? Или кто-нибудь может указать мне правильное направление (читай: какие функции мне нужно переопределить в ADG), если мне нужно расширить ADG?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 июля 2010

Возможно, прослушивает событие keybaord, затем проверяет, истинно ли event.shiftKey, если да, то вызывает event.preventDefault().

0 голосов
/ 13 июля 2010

Нашел способ: здесь

«просто» проверяет событие мыши при щелчке на сетке данных, если логическая клавиша Shift является истинной или нет ...

...