Flex DataGrid'de Array doldurmak

1 Cevap php

Ben PHP dizi olarak dönüş türü alıyorum. Benim datagrid de, değerler gelmiyor doldurmak zaman ... ben bu gibi neden oluyor oluşturursak yok.

var appSes:Array = event.result as Array
dg.dataProvider = appSes;

Ben PHP, değerleri alıyorum ben yapmak zorunda, bu başka bir şey var.

<local:CheckBoxDataGrid id="dg" 
    				allowMultipleSelection="true"   x="118" y="142" width="507">
    	<local:columns>
    		<mx:DataGridColumn dataField="firstName" headerText=" " width="20" sortable="false" itemRenderer="CheckBoxRenderer" > 
    		</mx:DataGridColumn>
    		<mx:DataGridColumn dataField="firstName" headerText="First Name" />
    		<mx:DataGridColumn dataField="lastName" headerText="Last Name" />
    	</local:columns>
    </local:CheckBoxDataGrid>

1 Cevap

Bir ArrayCollection değil bir Array kullanın. Onlar farkında mülkiyet değişikliği olduğu vb listeler, Izgaralar arasında dataProviders bağlanma Genel olarak, her zaman ArrayCollections kullanmalısınız ve nesneler, ekledi kaldırıldı veya changed verildiğinde içlerindeki listesi bilgilendirecektir. Diziler bu davranışı vermemektedir.

Bu senin VAR değiştirin

var appSes:ArrayCollection = new ArrayCollection(event.result);
dg.dataProvider = appSes;

Doğrusu senin gibi açıkça belirleyerek, bunları daha modeli nesnelere görüşlerimi bağlanma eğiliminde. Ben ArrayCollection (diyelim ki, sunucudan verileri yenileme) yeni bir örneğini oluşturduğunuzda, şeyler doğru benim parçası üzerinde herhangi bir ek çaba olmadan güncellemek ki yararı vardır.

Böylece, ben yapardım:

<local:CheckBoxDataGrid id="dg" dataProvider="{appSes}" ....