DataGrade中ItemEditor属性使用说明

本文介绍如何使用 Flex 的 DataGrid 控件并配置其编辑器,包括使用 NumericStepper 作为单元格编辑器及自定义编辑器范围,同时展示了如何通过 labelFunction 属性定制数据展示格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<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表示要对哪一列进行操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值