我的應用程序有一個帶有自定義項目渲染器的樹,該樹根據葉上的數據類型使用不同的組件作爲編輯器。在一種情況下,我嘗試使用數據網格,以便用戶可以選擇滿足其需求的行(需要顯示幾列),即。在概念上與ComboBox相似。Flex 3:Datagrid作爲項目編輯器過早獲取'itemEditEnd'
要做到這一點,我有一個函數被分配爲'itemEditBegin'(樹)的處理程序,我在其中動態創建數據網格,然後使用彈出窗口管理器將其顯示爲(模態)彈出窗口。到現在爲止還挺好。但是,如果你點擊任何地方(例如,向下滾動datagrid中的按鈕)彈出消失,因爲itemEditEnd事件被觸發 - 爲什麼?!
在另一種情況下,我有一個DateField設置作爲編輯器,用戶可以點擊圖標來調出DateChooser,滾動瀏覽月份等。我查看了這個代碼,它使用一個彈出窗口,看起來和我的代碼完全一樣!
這裏是「itemEditBegin」代碼:
其中「這個」是由樹渲染器行所使用的組件。這是樹組件的'itemEditEnd'處理程序,只要點擊數據網格內的任何內容(例如,一行,向下滾動按鈕,列分隔符等),該處理程序就會被調用。
任何想法的人?
謝謝,
邁克。
嗨,感謝您的回答。實際上這些列是不可編輯的 - 我在原始問題中添加了一些代碼。一旦DataGrid中的任何內容被點擊,樹的itemEditEnd就會觸發。順便說一句,如果datagrid永遠觸發'itemEditeEnd',樹會對它做出反應嗎?乾杯,邁克 – Nic 2011-04-18 14:12:36