labelFunction

        在设定了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]; 

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;
        }

你可能感兴趣的:(c,datagrid,function,object,String,null)