Flex: Двойной щелчок распространения события по сетке данных зависит от порядка компонентов? - PullRequest
1 голос
/ 21 марта 2010

Я хотел бы иметь событие двойного щелчка по сетке данных в Flex3. Следующий пример работает только в том случае, если контейнер Accordion (id = "mustBeSecond") идет после DataGrid. Почему порядок компонентов важен и что я могу сделать, чтобы предотвратить такое поведение? (Пример не работает. Если вы измените порядок «mustBeSecond» и «gridReportConversions», пример будет работать нормально)

<mx:Script>
    <![CDATA[
            import mx.controls.Alert;
            import mx.collections.ArrayCollection;

            [Bindable] private var dp:ArrayCollection = new ArrayCollection([
                {qty:1,referer:'http://google.com'},
                {qty:25,referer:'http://cnn.com'},
                {qty:4,referer:'http:stackoverflow.com'}]);

            private function refererRowDoubleClicked(e:Event):void { 
                Alert.show("double click");
            }

    ]]>
</mx:Script>


<mx:HBox width="100%" height="100%"> 
  <mx:Accordion width="200" height="200" id="mustBeSecond">
    <mx:Canvas label="Navigation Box" width="100%" height="100%">
        <mx:VBox>
            <mx:LinkButton label="First Link" />
            <mx:LinkButton label="Second Link" />
        </mx:VBox>
    </mx:Canvas>
  </mx:Accordion>                   
  <mx:DataGrid id="gridReportConversions" height="100%" width="100%" dataProvider="{this.dp}"
    mouseEnabled="true" doubleClickEnabled="true" itemDoubleClick="refererRowDoubleClicked(event)">
      <mx:columns>
        <mx:DataGridColumn width="75" dataField="qty" headerText="Qty" />
        <mx:DataGridColumn dataField="referer" headerText="URL" />
      </mx:columns>
  </mx:DataGrid>  
</mx:HBox>

1 Ответ

1 голос
/ 21 марта 2010

Я протестировал ваш код во Flex, и не имело значения, в каком порядке они были. Событие двойного щелчка сработало в любом случае. Это был новый проект, в котором не было другого кода, кроме стандартного, который настраивает приложение Flex.

Иногда, когда проект Flex начинает вести себя странно, бывает полезно выбрать «Проект» -> «Очистить».

Получаете ли вы какие-либо ошибки или уведомления, отображаемые на панели задач?

...