如图,包括输入校验,长度校验,标题图片.
代码如下:
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"> //导入的特征库
<mx:Script>
<![CDATA[
public function checkYourref(evt:DataGridEvent):void{ //输入完成后调用的校验函数
var input:TextInput = TextInput(paytimeLayerYourInfo.itemEditorInstance);
var newData:String= TextInput(evt.currentTarget.itemEditorInstance).text;
if(evt.dataField == "yourref"){
if(StringUtil.trim(newData).length>22){
input.errorString="对方账单号不能超过22位字符!";
evt.preventDefault();
return;
}
if(StringUtil.trim(newData).length<1){
input.errorString="对方账单号不能为空!";
evt.preventDefault();
return;
}
var aa:String=yourrefId.dataField.toString();
var ma:RegExp = new RegExp("\u4e00-\u9fa5");
if(ma.test(yourrefId.dataField.charAt(yourrefId.dataField.length - 1)))
{
yourrefId.dataField=aa.substr(0,21);
}else
{
yourrefId.dataField=aa.substr(0,22);
}
}
}
]]>
</mx:Script>
<mx:Form width="100%" height="100%" >
<mx:DataGrid id="paytimeLayerYourInfo" height="98" width="100%" verticalScrollPolicy="on" editable="true"
itemEditEnd="checkYourref(event)" styleName="DataGrid1">
<mx:columns>
<mx:DataGridColumn headerText="层号" id="layerNoId" dataField="layerNo" textAlign="center" editable="false"/>
<mx:DataGridColumn headerText="期号" id="paytimeId" dataField="paytime" textAlign="center" editable="false"/>
<mx:DataGridColumn id="yourrefId" dataField="yourref" textAlign="center" editable="true">
<mx:headerRenderer> //所在列的标题设置
<mx:Component>
<mx:HBox width="100%" horizontalAlign="center">
<mx:Label text="对方账单号" textAlign="right"/> //标题部分的汉字
<mx:Image source="assets/images/conitem/st.png"> //标题部分的图片
</mx:Image>
</mx:HBox>
</mx:Component>
</mx:headerRenderer>
<mx:itemEditor> //所在列的单元格设置
<mx:Component>
<mx:TextInput width="100%" styleName="TextInput" textAlign="left" restrict="{'\u4e00-\u9fa5'}A-Za-z0-9"/> //输入限制(只可以输入中文,英文大小写以及数字)
</mx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</mx:Form>
</mx:TitleWindow>