在设定了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; }
浦发银行上海分行营业网点汇总 <->
// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.