데이터grid 표 편집 후 데이터 검증

1608 단어 Flex
테이블에서 속성 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 유형의 이벤트
     *  The possible values are defined in the DataGridEventReason class.
위의 as 코드와 같이 편집이 끝난 상태의 원인을 판단하는 데 자주 쓰인다

좋은 웹페이지 즐겨찾기