假設我有一個數據網格,並且有一個方法用於單擊網格中某行的任何項目。現在,表格行中的一些項目也是按鈕。其中每個都與不同的操作相關聯。我們只想要執行這些操作之一。下面是一些示例代碼:Flex數據網格中有嵌套項目時的事件順序
<mx:DataGrid id="dataGrid" dataProvider="{data}" itemClick="selectRow()">
<mx:columns>
<mx:DataGridColumn dataField="name" />
<mx:DataGridColumn id="choose" headerText="Make a choice">
<mx:itemRenderer>
<mx:Component>
<mx:VBox>
<renderers:MyButton label="Choose Wisely" click="{outerDocument.choiceMade()}"/>
</mx:VBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
我的問題是:
當用戶選擇該行中的一個按鈕項,這兩種方法(selectRow & choiceMade)被執行。由於兩種方法都執行 ,是否固定 以某種方式的順序?行方法(selectRow)之前觸發的按鈕方法(choiceMade)始終是 ,反之亦然 ,或者它們是 都是異步執行的?
我在質疑的事情是,我們目前有一個成員變量來跟蹤哪個選擇被做出,並忽略其他方法的內容(方法的其他部分重置此值)。現在,如果這些方法恰好以不同的順序(或同時)執行,那麼行爲將是不可預測的。
我沒有很好的處理所有這些如何工作,所以任何關於Flex如何觸發這些方法的問題都將不勝感激。成員變量是否標誌着這樣做的方式(它聞起來很糟糕)?