datagrid表格编辑后对数据验证

在表格中指定属性itemEditEnd="adgrid_itemEditEndHandler(event)"利用方法进行验证。

 <mx:DataGrid id="bsManualGrid"  
        itemEditEnd="validateItem(event)"  //表格编辑后调用
       dataProvider="{_gridData}" editable="true"  
        sortableColumns="false">
      <mx:columns>
      </mx:columns>
 </mx:DataGrid>
 private function validateItem(event:DataGridEvent):void{
   if (event.reason == DataGridEventReason.CANCELLED){  
          return;
   }
   var input:TextInput=TextInput(bsManualGrid.itemEditorInstance);
   var newData:String=TextInput(event.currentTarget.itemEditorInstance).text;
   //如果商品查询的输入则验证非空
   if ((event.dataField == "vulCount" || event.dataField == "weakPwdCount" 
           || event.dataField == "congruentRate")
         && StringUtil.trim(newData).length <= 0){
        event.preventDefault();
        input.errorString="不能为空!";
   }

   //如果是数量则验证必须为数字
   if ((event.dataField == "vulCount" || event.dataField == "weakPwdCount") 
             && isNaN(Number(StringUtil.trim(newData)))){
    event.preventDefault();
    input.errorString="该项必须为数字!";
    return;
   } 
 }

【注】DataGridEvent的一些特殊参数:

event.dataField  -----------表格属性的编码

event.reason  ------The reason the itemEditEnd event was dispatched.
     *  Valid only for events with type ITEM_EDIT_END  //只验证ITEM_EDIT_END类型的event

     *  The possible values are defined in the DataGridEventReason class.

     常用来 如上面as代码中,来判断编辑完成的状态原因

转载于:https://my.oschina.net/u/2257852/blog/368154

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值