Как отключить двойной щелчок на заголовке расширенной группы данных? - PullRequest
0 голосов
/ 20 января 2011

У меня есть расширенная сетка данных с группировкой. С элементами внутри группировки у меня есть настройка, при которой вы дважды щелкаете элемент, и он создает всплывающее окно, которое позволяет пользователю редактировать эту запись. Проблема в том, что я могу дважды щелкнуть по названию группы, и всплывающее окно активируется с пустой информацией. Как я могу предотвратить это от работы?

Вот код mxml

<mx:AdvancedDataGrid id="plugList" designViewDataType="tree" width="100%" height="100%" 
         initialize="gc.refresh();" doubleClickEnabled="true" itemDoubleClick="plugList_itemDoubleClickHandler(event)">
        <mx:dataProvider>
            <mx:GroupingCollection2 id="gc" source="{plugs}">
                <mx:grouping>
                    <mx:Grouping>
                        <mx:GroupingField name="traderTitle"/>
                    </mx:Grouping>
                </mx:grouping>
            </mx:GroupingCollection2>
        </mx:dataProvider>
        <mx:columns>
            <mx:AdvancedDataGridColumn headerText="Title" dataField="traderTitle"/>
            <mx:AdvancedDataGridColumn headerText="Anchor" dataField="traderAnchor"/>
            <mx:AdvancedDataGridColumn headerText="URL" dataField="url"/>
            <mx:AdvancedDataGridColumn dataField="status" headerText="Status" width="75"/>
        </mx:columns>
    </mx:AdvancedDataGrid>

Ответы [ 2 ]

1 голос
/ 18 декабря 2012

event target - это не одна строка, а весь компонент сетки данных, вы не можете использовать этот объект.Если для свойства selectionMode установлено значение singleRow (по умолчанию), вы можете использовать свойство selectedItem для указания целевой строки.Затем вы можете проверить наличие свойства children, чтобы различать родительский узел и простой лист.

Это простой пример функции прослушивания doubleClick:

protected function plugList_itemDoubleClickHandler(event:ListEvent):void
{
    if(((Object)(event.target.selectedItem)).hasOwnProperty('children')){
        trace('not a leaf');
    }else{
        Alert.show("Selected  "+event.target.selectedItem.desc);
    }   
}

Davide

0 голосов
/ 21 января 2011

Это будет обработано в функции plugList_itemDoubleClickHandler.Сделайте условное заявление и посмотрите на event.target, не уверенный в синтаксисе для него, но в режиме отладки вы сможете увидеть разницу между элементом и заголовком, которые вы можете наблюдать.Если это заголовок, не показывать всплывающее окно

...