`
bence
  • 浏览: 28739 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用labelFunction处理DataGrid显示内容(转载)

阅读更多
转载地址: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中扩展ItemRenderer和HeaderRenderer进行操作

    如果仅仅只是简单的显示数据,或者对显示数据做一些格式化操作,基本的DataGrid,加labelFunction支持就可以满足了,但大多我们需要针对不同的数据和对象,进行不同的渲染,比如checkbox啦,下拉选择框,日期等等,...

    flex3的cookbook书籍完整版dpf(包含目录)

    使用项渲染器把SWF对象作为一个菜单项显示 7.7.节.用一个复选框渲染器选择DataGrid 列 7.8.节.为DataGrid创建一个独立的复选框项渲染器 7.9.节.为渲染器设置高效图像 7.10.节.为项渲染器和项编辑器应用运行时样式 ...

    一个非常不错的flex时间控件,内附运行图

    ()}" labelFunction="selectDateTime" width="150"/> public function selectDateTime(item:Date):String { return item.fullYear + "-" + item.month + "-" + item.dateUTC + " " + item.hours + ":" + ...

    60度CMS网站源码 1.0

    为达到最佳效果,推荐使用九网互联的ASP空间,支持绑定域名到目录。-----------------------------60度CMS1.0------作者:生鱼片------------------------------------60度旗下网站:系统名称: 60度CMS1.0 Beta 0729...

    my test just a test

    <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}" /> ...

Global site tag (gtag.js) - Google Analytics