嗨我們在UI項目中使用Flex 4。在加載應用程序儀表板時,我們得到一組窗格。我們點擊一個吊艙並打開弔艙視圖。此窗格視圖包含第一列作爲超鏈接的數據網格。當你點擊超鏈接時,會打開另一個屏幕,這是我們的模塊屏幕。Flex組件沒有被刷新
該模塊屏幕頂部有一個SUBMIT按鈕和一對數據網格。現在我們使用RemoteObject加載網格中的數據。每個網格的父容器都是WindowShade組件。
現在我們的要求是用戶可以在一個或兩個網格中進行修改,然後單擊SUBMIT。取決於用戶修改了哪個網格,我想將相應的窗口陰影設置爲只讀。如果用戶修改了兩個網格,我需要將兩個窗口陰影組件都設爲只讀,並禁用SUBMIT按鈕。 用戶應該能夠在點擊提交時立即看到這個改變,而不關閉屏幕或從屏幕導航。
當用戶第一次打開屏幕時,我們從後端獲得一些狀態,並根據這些狀態,將窗口陰影設置爲只讀並啓用/禁用按鈕。當我單擊SUBMIT時,我仍然會打到後端並獲得狀態,但不會啓用/禁用按鈕或窗口遮罩。
我已經爲我的mxml文件的updateComplete方法寫入了啓用/禁用的邏輯,這是爲swf創建的。
updateComplete在用戶第一次打開屏幕時被調用。當用戶單擊SUBMIT時,它不會被調用。爲什麼這樣?
我已經嘗試使用Loader和SWFLoader加載我的SWF文件,但它不起作用。 var request:URLRequest = new URLRequest(「com/citi/risk/credit/maintenance/view/widgets/CRCMaintenanceModule.swf」); var loader:Loader = new Loader(); loader.load(request);
任何幫助或指針將不勝感激。你可能要考慮
嗨Sunil,我運行在調試模式的應用程序,你說的是正確的。我還發現,在從遠程對象獲取數據之前,會調用主容器的更新完成。所以我在主容器的更新完成方法中所做的所有狀態檢查都是徒勞的。如何確保在更新完成被調用之前從服務器獲取數據?如果我能夠在更新完成之前獲取數據,我的問題就解決了。 – cyclecount
請勿使用更新完成。也許你的視圖應該有一個默認狀態(禁用的東西),直到收到來自服務器調用的響應。然後啓用東西,然後再次禁用提交按鈕點擊處理程序。 –
再次重申:更新完成意味着對象的一個(可能很多)渲染階段已經完成。所以它不適合你在做什麼。 –