Flex4 DataGrid添加CheckBox及動態添加數據

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>
	
	<fx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.events.FlexEvent;
			[Bindable]
			public var arr:ArrayCollection = new ArrayCollection([{id:1,name:"芒果",count:1000, selected:"true"}, 
				{id:2,name:"香蕉",count:2120, selected:"false"}, {id:3,name:"蘋果",count:3000, selected:"true"}, 
				{id:3,name:"桔子",count:3000, selected:"false"}]);
			
			protected function button1_clickHandler(event:MouseEvent):void
			{
				var o:Object = new Object();
				o.name = "aaa";
				o.count = 1122;
				o.selected = "true";
				arr.addItem(o);
			}
		]]>
	</fx:Script>
	<fx:Declarations>
		<!-- 將非可視元素(例如服務、值對象)放在此處 -->
	</fx:Declarations>
	<s:Button label="添加數據" click="button1_clickHandler(event)"/>
	<s:DataGrid dataProvider="{arr}" width="400" height="300">
		<s:columns>
			<s:ArrayList>
				<s:GridColumn headerText="序號" dataField="id" editable="false" />
				<s:GridColumn headerText="名稱" dataField="name" editable="false"/>
				<s:GridColumn headerText="數量" dataField="count" editable="false"/>
				<s:GridColumn>
					<s:itemRenderer>
						<fx:Component>
							<s:GridItemRenderer>

								<fx:Script>
									<![CDATA[
										protected function getSelected(s:String):Boolean//防止有滾動條時顯示異常
										{
											if(s == "true")
											{
												return true;
											}
											return false;
										}
									]]>
								</fx:Script>

								<s:CheckBox selected="{getSelected(data.selected)}"/>
							</s:GridItemRenderer>
						</fx:Component>
					</s:itemRenderer>
				</s:GridColumn>
			</s:ArrayList>
		</s:columns>
	</s:DataGrid>
</s:Application>

發佈了29 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章