DataGrade中ItemEditor属性使用说明

来源:互联网 发布:pdf合并软件绿色版 编辑:程序博客网 时间:2024/05/23 19:11

<mx:DataGrid id="dataGrid"

            dataProvider="{arrColl}"

            editable="true"

            rowCount="8" fontSize="12" fontFamily="Arial" width="324" height="334">

        <mx:columns>

            <mx:DataGridColumn dataField="label" headerText="国家"

                    editable="false" />

            <mx:DataGridColumn dataField="score" headerText="金牌数" editable="true"

               editorDataField="value"   itemEditor="mx.controls.NumericStepper"

                   />

        </mx:columns>

</mx:DataGrid>

itemEditor 属性和 editorDataField属性共同为这个表格的这一列设置编辑时显示的编辑控制。前提是DataGrade DataGrideColum必须同时为可编辑状态。

itemEditor 指定了编辑器的类名,默认为文本编辑器,也可以指定其他的编辑器,如:CheckBoxNumericStepper等。

editorDataField 属性指定了编辑后的值是新编辑器的哪个属性。如:此例中,当编辑后则把NumericSteppervalue值返回来。此时编辑后的数据会改变数据源的数据。在默认情况下,NumericStepper对象的值范围是0-10。但是我们可以继NumericStepper类,重新设置它的最大值和最小值,然后在itemEditor中填写我们自己的类即可。如:public class SubNumericStepper extends NumericStepper

    {

       public function SubNumericStepper()

       {

           this.minimum=-100;

           this.maximum=100;

       }

    }

labelFunction属性是一个回调函数。在对应值里面填写一个函数。该函数可以确定该列文本的显示格式,但是需要在函数里面设定。如:

internal function labelFun(item:Object,column:DataGridColumn):String

           {

                  column.editable=true;

                  if (item.hasOwnProperty("score"))

                     return item.score+"";

                  else

                     return item.score=null;

           }

abelFunction="labelFun"。其中函数的参数必须为那两个参数。该函数实现了在该列中每个单元格中的数据后面添加一个汉字“枚”,但是数据源的数据不会因此而添加一个“枚”字,这里只是设置了表格的文本显示格式。item参数表示数据源中每一行数据对象,column表示要对哪一列进行操作。