2008-10-31 102 views
1

是否可以在舞臺上創建一個DataGrid後在閃存中更改RowCount如何在加載XML文件後在Flash ActionScript中重新加載DataGrid?

我在外部加載一個包含DataGrid應具有的行數的XML文件,但問題在於,因爲此文件在運行時未加載,所以它只是選取默認的3個項目。也許我必須在舞臺上重新加載DataGrid,或者循環直到它被定義。

有沒有人有這方面的經驗?

+0

DataGrid的繼承了[`rowCount`](http://help.adobe.com/nl_NL/FlashPlatform/reference/actionscript/2/ help List.html?content = 00002578.html#3149569)來自List組件的屬性。加載XML後,使用您想要的值設置此屬性。還要確保組件的高度足夠大,以顯示你想要的行數(你可以用`setSize()`來完成)。如果更新沒有立即發生,你可以使用`invalidate()`來強制更新。只要舞臺上的數據網格實例具有實例名稱,您應該可以通過actionscript 2來控制它 – 2014-08-01 20:08:40

回答

0

我們在談論Flash還是Flex?如果我們正在談論Flex,您實際上可以使用DataBinding。只需將[Bindable]屬性放置在包含您的XML的變量上方,並且當您使用新數據更新變量時,網格也將被更新。

如果你確實是指Flash,那麼我就不知道了。

0

Flex項目:

使用綁定的強制更新時dataprovider中的變化。

<fx:Script> 
    <![CDATA[ 
     [Bindable] 
     private var _loadedXMLData : XML; // load xml and store here 
    ]]> 
</fx:Script> 


<mx:DataGrid dataProvider="{_loadedXMLData}" width="100%" height="100%"/> 

Flash項目:

請確保XML已經被加載時設置的數據提供者。如果它不給你正確的行數量,試試這個:

// set flash datagrid component rows manually 
dg.rowCount = 10;