Здравствуйте уважаемые программисты.
У меня проблемка с DataGrid-ом, из-за него приложение не загружается.
DataGrid такой:
Код:
<s:DataGrid itemRenderer="com.es.effectiveclient.MVC.view.items.BookList_ItemRenderer"
width="100%" height="100%" dataProvider="{booksModel.books}" top="10" left="10">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="name"/>
<s:GridColumn dataField="year"/>
<s:GridColumn dataField="pages_number"/>
<s:GridColumn dataField="can_take"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
Причем если убрать columns или itemRenderer, то все работает.
Так работает
Код:
<s:DataGrid itemRenderer="com.es.effectiveclient.MVC.view.items.BookList_ItemRenderer"
width="100%" height="100%" dataProvider="{booksModel.books}" top="10" left="10">
</s:DataGrid>
и так работает
Код:
<s:DataGrid
width="100%" height="100%" dataProvider="{booksModel.books}" top="10" left="10">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="name"/>
<s:GridColumn dataField="year"/>
<s:GridColumn dataField="pages_number"/>
<s:GridColumn dataField="can_take"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
Код itemRenderer-ра такой
Код:
<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
clipAndEnableScrolling="true">
<fx:Script><![CDATA[
override public function prepare(hasBeenRecycled:Boolean):void {
if (data[column.dataField] != null) {
lblData.text = data[column.dataField]
}
}
]]></fx:Script>
<s:Label id="lblData" top="20" left="7" text="book"/>
</s:GridItemRenderer>
dataProvider="{booksModel.books}" этот массив сначала пустой, а потом подгружается, если массив задать статически т.е.
Код:
<fx:Declarations><s:ArrayCollection id="arr">
<s:DataItem name="Name book 2" publish_house="Publish House 2" year="2010" pages_number="268" can_take="false"/>
<s:DataItem name="Name book 3" publish_house="Publish House 3" year="2008" pages_number="845" can_take="false"/>
<s:DataItem name="Name book 4" publish_house="Publish House 4" year="2008" pages_number="395" can_take="true"/>
<s:DataItem name="Name book 5" publish_house="Publish House 5" year="2009" pages_number="348" can_take="true"/>
</s:ArrayCollection></fx:Declarations>
то все работает.
Подскажите плиз как с этим разобраться. Заранее благодарен.