Flex 可编辑的 Spark List 组件
发布时间:2020-12-15 04:35:57 所属栏目:百科 来源:网络整理
导读:s:List id="chapterList" width="100%" height="100%" textAlign="center"dataProvider="{m_chapterAc}"labelField="chaptername"itemRenderer="notion.touch.view.main.ebookeditor.EditorList"/s:List ? ? ? notion.touch.view.main.ebookeditor.EditorLis
<s:List id="chapterList" width="100%" height="100%" textAlign="center" dataProvider="{m_chapterAc}" labelField="chaptername" itemRenderer="notion.touch.view.main.ebookeditor.EditorList"> </s:List> ? ? ? notion.touch.view.main.ebookeditor.EditorList: ? <?xml version="1.0" encoding="utf-8"?> <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" autoDrawBackground="true"> <fx:Script> <![CDATA[ import spark.components.List; import spark.components.supportClasses.ListBase; private var lblField:String; private function onChange(event:Event):void { var oldValue:String = labelDisplay.text; if (oldValue != inputTxt.text) { data[lblField] = inputTxt.text; labelDisplay.text = inputTxt.text; //dispatch the data update event var list:ListBase = this.owner as ListBase; list.dataProvider.itemUpdated(data,lblField,oldValue,inputTxt.text); } isEdit(false); } private function onEdit(event:Event):void { if(lblField =="") throw new Error("必须为" + List(this.owner).id + "(List)指定labelField"); lblField = List(this.owner).labelField; inputTxt.text = data[lblField]; isEdit(true); //set cursor postion to end inputTxt.selectRange(inputTxt.text.length,inputTxt.text.length+1); inputTxt.setFocus(); } private function isEdit(value:Boolean):void { labelDisplay.visible = !value; inputTxt.visible = value; } ]]> </fx:Script> <s:Label id="labelDisplay" doubleClickEnabled="true" doubleClick="onEdit(event)" top="7" bottom="5" left="5" right="3"/> <s:TextInput id="inputTxt" visible="false" focusOut="onChange(event)" top="1" bottom="1" left="1" right="0" minWidth="25"/> </s:ItemRenderer> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |