加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 可编辑DataGrid的输入验证例子

发布时间:2020-12-15 01:07:13 所属栏目:百科 来源:网络整理
导读:?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"
<?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" creationComplete="init()"> ?? ?<fx:Declarations> ?? ??? ?<!-- 将非可视元素(例如服务、值对象)放在此处 --> ?? ?</fx:Declarations> ?? ?<fx:Script> ?? ??? ?<![CDATA[ ?? ??? ?import mx.collections.ArrayCollection; ?? ??? ?import mx.utils.StringUtil; ?? ??? ?import mx.controls.TextInput; ?? ??? ?import mx.events.DataGridEventReason; ?? ??? ?import mx.events.DataGridEvent; ?? ??? ? ?? ??? ?[Bindable] ?? ??? ?private var list:ArrayCollection = new ArrayCollection(); ?? ??? ?//初始化方法 ?? ??? ?private function init():void{ ?? ??? ?for(var i:int = 0;i < 10;i++){ ?? ??? ?var o:Object; ?? ??? ?if(i%2 ==0) ?? ??? ?o = {num:i,notNull:"非空的第"+i+"行内容",any:"任意的第"+i+"行内容"}; ?? ??? ?else ?? ??? ?o = {num:i,any:i}; ?? ??? ?list.addItem(o); ?? ??? ?} ?? ??? ?} ?? ??? ?//验证的操作方法 ?? ??? ?private function validateItem(event:DataGridEvent):void{ ?? ??? ?//如果没有更新数据则直接返回 ?? ??? ?if (event.reason == DataGridEventReason.CANCELLED){ ?? ??? ?return; ?? ??? ?} ?? ??? ?var input:TextInput = TextInput(_Grid.itemEditorInstance); ?? ??? ?var newData:String= TextInput(event.currentTarget.itemEditorInstance).text; ?? ??? ?//如果商品查询的输入则验证非空 ?? ??? ?if(event.dataField == "notNull" && StringUtil.trim(newData).length<=0){ ?? ??? ?event.preventDefault(); ?? ??? ?input.errorString="不能为空!"; ?? ??? ?} ?? ??? ?//如果是数量则验证必须为数字 ?? ??? ?if(event.dataField == "num" && isNaN(Number(StringUtil.trim(newData)))){ ?? ??? ?event.preventDefault(); ?? ??? ?input.errorString="必须为数字!"; ?? ??? ?return; ?? ??? ?} ?? ??? ?} ?? ??? ?]]> ?? ?</fx:Script> ?? ?<mx:DataGrid id="_Grid" y="0" width="100%" x="0" height="100%" itemEditEnd="validateItem(event)" dataProvider="{list}" textAlign="center" editable="true" fontSize="12"> ?? ??? ?<mx:columns> ?? ??? ??? ?<mx:DataGridColumn headerText="数字" dataField="num"/> ?? ??? ??? ?<mx:DataGridColumn headerText="非空" dataField="notNull"/> ?? ??? ??? ?<mx:DataGridColumn headerText="任意" dataField="any"/> ?? ??? ?</mx:columns> ?? ?</mx:DataGrid> </s:Application>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读