转载地址:
http://liguoliang.com/2009/01/668/
在设定了DataGrid的DataProvider, 设定DataGridColumn及其相应的DataField之后, DataGrid就可正常显示, 但有时候需要稍微处理一下显示内容: 如 某ArrayCollection中含有一组Student, Student对象具有gender属性, 其中1代表男, 2代表女, 3代表不确定. 此时需要使用labelFunction进行处理显示内容.
原理:
DataGrid通过DataGridColum函数中的itemToLabel实现数据源到现实内容的过程,
当DataGrid 某列的labelFunction不为空时, DataGridColumn的itemToLabel函数将执行:
if (labelFunction != null)
return labelFunction(data, this);
具体可参见类DataGridColumn的itemToLabel函数.
使用方法:
var columnGender:DataGridColumn = new DataGridColumn(); //增加一个Column
columnGender.headerText = "Gender";
columnGender.dataField = "Gender_";
columnGender.labelFunction = formatGender; //设定LabelFunction
_dataGridStudent.columns = [columnID, columnName, columnAge, columnGender]; //将Column加入到DG中.总共四个Column
labelFunction函数
/** 设定DataGrid 性别栏显示内容*/
private function formatGender(item:Object, c:DataGridColumn):String {
var gender:String;
if(item.Gender_ == 1) {
gender = "男";
}else if(item.Gender_ == 2) {
gender = "女";
}else {
gender = "未知";
}
return gender;
}
分享到:
相关推荐
如果仅仅只是简单的显示数据,或者对显示数据做一些格式化操作,基本的DataGrid,加labelFunction支持就可以满足了,但大多我们需要针对不同的数据和对象,进行不同的渲染,比如checkbox啦,下拉选择框,日期等等,...
使用项渲染器把SWF对象作为一个菜单项显示 7.7.节.用一个复选框渲染器选择DataGrid 列 7.8.节.为DataGrid创建一个独立的复选框项渲染器 7.9.节.为渲染器设置高效图像 7.10.节.为项渲染器和项编辑器应用运行时样式 ...
()}" labelFunction="selectDateTime" width="150"/> public function selectDateTime(item:Date):String { return item.fullYear + "-" + item.month + "-" + item.dateUTC + " " + item.hours + ":" + ...
为达到最佳效果,推荐使用九网互联的ASP空间,支持绑定域名到目录。-----------------------------60度CMS1.0------作者:生鱼片------------------------------------60度旗下网站:系统名称: 60度CMS1.0 Beta 0729...
<base:HDateField id="flt_date" width="70" tabIndex="7" editable="true" labelFunction="formatDate" restrict="[A-Z,0-9]" text="{this.formatDate(new Date)}" validator="{fltDateValidator}" /> ...