我有一個按鈕的datagrid列,打開一個模式對話框允許用戶上傳多個文件。在下面的代碼中,browseAndUpload()方法就是這樣做的。當用戶完成上傳文件並關閉上傳框時,會調用closeUpload()方法。我知道上傳的文件正被複制到arrFiles中。是否有可能將數組存儲在Flex中的DataGridColumn中?
我遇到的問題是中繼器不會在arrFiles中顯示文件。下面是代碼:
<mx:DataGridColumn id="dgcUpload" width="42" headerText="Uploaded Files"
editable="false">
<mx:itemRenderer>
<mx:Component>
<mx:VBox>
<mx:Script>
<![CDATA[
[Bindable]public var arrFiles:ArrayCollection = new ArrayCollection();
public var fileUpload:FileUpload = new FileUpload();
private function browseAndUpload(event:MouseEvent):void
{
fileUpload = FileUpload(PopUpManager.createPopUp(this, FileUpload, true));
fileUpload.addEventListener(CloseEvent.CLOSE, closeUpload);
fileUpload["btnClose"].addEventListener("click", closeUpload);
}
private function closeUpload(event:Event):void
{
arrFiles = fileUpload.arrFiles;
}
]]>
</mx:Script>
<mx:HBox paddingLeft="3" paddingRight="3">
<mx:Button width="36" label="..." click="browseAndUpload(event)"/>
</mx:HBox>
<mx:Repeater id="rpFiles" dataProvider="{arrFiles}">
<mx:Label text="{FileVO(rpFiles.currentItem).name}"/>
</mx:Repeater>
</mx:VBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
預先感謝您的任何見解,
奧維
Orville, 您可以發佈FileUpload的代碼嗎? 謝謝。 – 2009-08-31 21:58:32