前言中,我使用Swiz框架,所以你就只能去適應什麼,我說給本地的Flex或其他framewok。
我會通過在開始上傳時觸發一個事件來解決這個問題。此事件將具有一個屬性,表示正在上傳哪個文件名。
var e:DataGridEvent = new DataGridEvent(DataGridEvent.START_FILE_UPLOAD);
e.fileName = uploadFileName;
dispatcher.dispatch(e);
DataGrid中的每一行都是一個的itemRenderer的一個新實例(沒有其他辦法讓它有一個進度條或任何幻想)。因此,在將itemRenderer設置爲MXML組件之後,只需讓它監視正在分派的事件。
[EventHandler(event="DataGridEvent.START_FILE_UPLOAD", properties="fileName")]
public function startFileUpload(fileName:String):void
{
if(fileName == dataGride.fileName)
........//Show progress bar or whatever
在這個莊園,所有的行會爲給定的事件做出響應,並顯示進度條,只有當它具有相同的文件名作爲文件被上傳。如果文件名不是唯一的(我認爲它會是),你將不得不擁有某種唯一的ID。
與狀態進度相同的一般過程將完成。只需使用百分比和文件名引發另一個事件爲FILE_UPLOAD_STATUS_UPDATE。然後正確處理事件。
感謝您的詳細回覆..我沒有料到這樣的複雜,但...無論如何,我一定會檢查出來... – Prashant 2011-04-09 05:36:50