读书人

运用labelFunction处理DataGrid显示内

发布时间: 2012-11-25 11:44:31 作者: rapoo

使用labelFunction处理DataGrid显示内容(转载)
转载地址:http://liguoliang.com/2009/01/668/

在设定了DataGrid的DataProvider, 设—ataGridColumn及其相应的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函数

/** 设—ataGrid 性别栏显示内容*/
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;
}

读书人网 >Web前端

热点推荐