| 包 | spark.components.gridClasses |
| 类 | public class GridColumn |
| 继承 | GridColumn EventDispatcher Object |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
隐藏 MXML 语法The <s:GridColumn> tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:GridColumn
Properties
dataField="null"
dataTipField="null"
dataTipFormatter="null"
dataTipFunction="null"
editable="true"
formatter="null"
headerRenderer="null"
headerText="value of dataField"
imeMode="null"
itemEditor="null"
itemRenderer="null"
itemRendererFunction="null"
labelFunction="null"
maxWidth="NaN"
minWidth="20"
rendererIsEditable="false"
resizeable="true"
showDataTips="undefined"
sortable="true"
sortCompareFunction="null"
sortDescending="false"
visible="true"
width="NaN"
/>
相关 API 元素
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| columnIndex : int [只读]
此列在网格的列列表中的位置;如果此列的网格为 null,则为 -1。 | GridColumn | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| dataField : String
与列关联的数据提供程序项目中字段或属性的名称。 | GridColumn | ||
| dataTipField : String
数据提供程序中显示为数据提示的字段名称。 | GridColumn | ||
| dataTipFormatter : IFormatter
指定列的 itemToDataTip() 方法用来将数据提供程序项转换为字符串的格式化程序。 | GridColumn | ||
| dataTipFunction : Function
指定在数据提供程序每个项目上运行的回调函数,以确定其数据提示。 | GridColumn | ||
| editable : Boolean
指示是否能对列中的项目进行编辑。 | GridColumn | ||
| formatter : IFormatter
指定列的 itemToLabel() 方法用来将数据提供程序项转换为字符串的格式化程序。 | GridColumn | ||
| grid : Grid [只读]
与此列关联的 Grid 对象。 | GridColumn | ||
| headerRenderer : IFactory
用作此列标题的 IGridItemRenderer 类的类工厂。 | GridColumn | ||
| headerText : String
此列的标题文本。 | GridColumn | ||
| imeMode : String
指定 IME(输入法编辑器)模式。 | GridColumn | ||
| itemEditor : IFactory
用于编辑此列中各个网格单元格的 IGridItemEditor 类的类工厂。 | GridColumn | ||
| itemRenderer : IFactory
用于呈示各个网格单元格的 IGridItemRenderer 类的类工厂。 | GridColumn | ||
| itemRendererFunction : Function
如果已指定,则此属性的值必须为幂函数,该函数根据其数据提供程序项和列参数返回项呈示器 IFactory。 | GridColumn | ||
| labelFunction : Function
将数据提供程序项转换为特定于列的字符串的幂函数,该字符串用于初始化项呈示器的 label 属性。 | GridColumn | ||
| maxWidth : Number
此列的最大宽度,以像素为单位。 | GridColumn | ||
| minWidth : Number
此列的最小宽度,以像素为单位。 | GridColumn | ||
| rendererIsEditable : Boolean
确定是否能对项呈示器的任意控件进行编辑。 | GridColumn | ||
| resizable : Boolean
指示是否允许用户调整列宽大小。 | GridColumn | ||
| showDataTips : *
指示是否在列中显示数据提示。 | GridColumn | ||
| sortable : Boolean
如果为 true,网格的数据提供程序为 ICollectionView,且关联网格的 sortableColumns 属性为 ture,则此列支持交互式排序。 | GridColumn | ||
| sortCompareFunction : Function
对此列中的数据元素排序时比较两个元素的函数。 | GridColumn | ||
| sortDescending : Boolean
如果为 true,则按降序顺序对此列排序。 | GridColumn | ||
| sortField : SortField [只读]
返回 SortField(可用于按此列的 dataField 对集合进行排序)。 | GridColumn | ||
| visible : Boolean
如果为 true,则显示此列。 | GridColumn | ||
| width : Number
此列的宽度,以像素为单位。 | GridColumn | ||
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
GridColumn(columnName:String = null)
构造函数。 | GridColumn | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
![]() |
将事件调度到事件流中。 | EventDispatcher | |
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
将指定的数据提供程序项转换为特定于列的数据提示字符串。 | GridColumn | ||
将指定的数据提供程序项转换为特定于列的字符串。 | GridColumn | ||
将指定的数据提供程序项转换为特定于列的项呈示器工厂。 | GridColumn | ||
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
返回指定对象的原始值。 | Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher | |
| 常量 | 由以下参数定义 | ||
|---|---|---|---|
| ERROR_TEXT : String = "unknown" [静态]
如果解析相应的属性名称(路径)失败,则为 itemToLabel() 或 itemToDataTip() 方法的返回值。 | GridColumn | ||
columnIndex | 属性 |
dataField | 属性 |
dataField:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
与列关联的数据提供程序项目中字段或属性的名称。需要对每个 GridColumn 设置此属性或 labelFunction 属性,才可计算项呈示器的可显示文本。如果设置了 dataField 和 labelFunction 属性,则使用 labelFunction 显示数据并使用 dataField 对数据排序。
此属性的值不一定是列标题中显示的 String。此属性只用于访问数据提供程序中的数据。有关详细信息,请参阅 headerText 属性。
如果列或其网格指定 labelFunction,则不使用 dataField。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 dataFieldChanged 事件。
实现
public function get dataField():String public function set dataField(value:String):void相关 API 元素
dataTipField | 属性 |
dataTipField:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
数据提供程序中显示为数据提示的字段名称。默认情况下,如果 showDataTips 为 true,则关联的网格控件在每个数据提供程序项中查找名为 label 的属性并进行显示。然而,如果数据提供程序不包含 label 属性,则可以设置 dataTipField 属性以指定其它属性名称。例如,在用户查看数据库中包含的一组用户名时,可以将值设置为“FullName”。
GridColumn.dataTipField 的优先级比此属性高。
如果此列或其网格指定了 dataTipFunction 属性的值,则忽略 dataTipField 属性。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 dataTipFieldChanged 事件。
实现
public function get dataTipField():String public function set dataTipField(value:String):void相关 API 元素
dataTipFormatter | 属性 |
dataTipFormatter:IFormatter| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
指定列的 itemToDataTip() 方法用来将数据提供程序项转换为字符串的格式化程序。
如果格式化程序的 styleParent 未指定,它将被设置为列的网格,这样格式化程序就可以继承网格的区域设置样式。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 dataTipFormatterChanged 事件。
实现
public function get dataTipFormatter():IFormatter public function set dataTipFormatter(value:IFormatter):void相关 API 元素
dataTipFunction | 属性 |
dataTipFunction:Function| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
指定在数据提供程序每个项目上运行的回调函数,以确定其数据提示。此属性由 itemToDataTip 方法使用。
默认情况下,如果 showDataTips 为 true,则该列在每个数据提供程序项中查找名为 label 的属性,并将其显示为它的数据提示。不过,某些数据提供程序没有 label 属性,也没有其它可用于显示行中数据的属性。
例如,您具有包含 lastName 和 firstName 字段的数据提供程序,但您希望将全名显示为数据提示。可以为 dataTipFunction 属性指定一个函数,该函数返回包含这两个字段值的单个 String。还可以使用 dataTipFunction 属性来处理格式和本地化。
dataTipFunction 函数的签名必须与以下内容相匹配:
dataTipFunction(item:Object, column:GridColumn):String
item 参数为整个行的数据提供程序项。第二个参数是此列对象。
典型的函数可能连接项的 firstName 和 lastName 属性,或对 Date 值属性设置某种自定义格式。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 dataTipFunctionChanged 事件。
实现
public function get dataTipFunction():Function public function set dataTipFunction(value:Function):void相关 API 元素
editable | 属性 |
editable:Boolean| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
指示是否能对列中的项目进行编辑。如果为 true,并且关联的网格的 editable 属性也为 true,则列中的项目是可编辑的,且可以通过以下方法编辑单个项目:单击所选项目,或导航到项目并按 F2 键。
默认值为 true。
此属性可用作数据绑定的源。修改此属性后,将调度 editableChanged 事件。
实现
public function get editable():Boolean public function set editable(value:Boolean):voidformatter | 属性 |
formatter:IFormatter| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
指定列的 itemToLabel() 方法用来将数据提供程序项转换为字符串的格式化程序。
如果格式化程序的 styleParent 未指定,它将被设置为列的网格,这样格式化程序就可以继承网格的区域设置样式。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 formatterChanged 事件。
实现
public function get formatter():IFormatter public function set formatter(value:IFormatter):void相关 API 元素
grid | 属性 |
headerRenderer | 属性 |
headerRenderer:IFactory| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
用作此列标题的 IGridItemRenderer 类的类工厂。如果未指定,则 DataGrid 控件的 columnHeaderGroup 外观部件定义默认标题呈示器。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 headerRendererChanged 事件。
实现
public function get headerRenderer():IFactory public function set headerRenderer(value:IFactory):void相关 API 元素
headerText | 属性 |
imeMode | 属性 |
imeMode:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
指定 IME(输入法编辑器)模式。IME 使用户能够用中文、日文和韩文输入文本。当控件获得焦点时,Flex 设置指定的 IME 模式;当该控件失去焦点时,则将其设置回为先前的值。
flash.system.IMEConversionMode 类定义此属性的有效值的常量。您还可以指定 null 不指定任何 IME 模式。
默认值为 null。
实现
public function get imeMode():String public function set imeMode(value:String):void相关 API 元素
itemEditor | 属性 |
itemEditor:IFactory| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
用于编辑此列中各个网格单元格的 IGridItemEditor 类的类工厂。如果此属性为 null,且列网格的所有者为 DataGrid 控件,则使用 DataGrid 控件的 itemEditor 属性的值。如果 DataGrid 控件未指定任何项编辑器,则使用 DefaultGridItemEditor 类。
默认的项编辑器是 DefaultGridItemEditor 类,可用于编辑简单的文本字段。可以通过创建 GridItemEditor 类的子类来创建自定义项呈示器。自定义项编辑器可以在网格的整个行中写入数据,以定义更复杂的编辑器。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 itemEditorChanged 事件。
实现
public function get itemEditor():IFactory public function set itemEditor(value:IFactory):void相关 API 元素
itemRenderer | 属性 |
itemRenderer:IFactory| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
用于呈示各个网格单元格的 IGridItemRenderer 类的类工厂。如果未指定,则使用关联的网格控件的 itemRenderer 属性的值。
默认项呈示器为 DefaultGridItemRenderer 类,它可将数据项显示为文本。可以通过创建 GridItemRenderer 类的子类来创建自定义项呈示器。自定义项呈示器可以访问网格的整个行中的数据,以定义单元格的更复杂视觉表示。
默认值为关联的网格控件的 itemRenderer 属性的值,或为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 itemRendererChanged 事件。
实现
public function get itemRenderer():IFactory public function set itemRenderer(value:IFactory):void相关 API 元素
itemRendererFunction | 属性 |
itemRendererFunction:Function| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
如果已指定,则此属性的值必须为幂函数,该函数根据其数据提供程序项和列参数返回项呈示器 IFactory。为 itemRendererFunction 属性指定值可以在此列中使用多个项呈示器。
为 itemRendererFunction 属性指定的函数必须具有以下签名:
itemRendererFunction(item:Object, column:GridColumn):IFactory
item 参数为整个行的数据提供程序项。第二个参数是此列对象。
项呈示器函数的示例如下所示:
function myItemRendererFunction(item:Object, column:GridColumn):IFactory
{
return (item is Array) ? myArrayItemRenderer : myItemRenderer;
}
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 itemRendererFunctionChanged 事件。
实现
public function get itemRendererFunction():Function public function set itemRendererFunction(value:Function):voidlabelFunction | 属性 |
labelFunction:Function| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
将数据提供程序项转换为特定于列的字符串的幂函数,该字符串用于初始化项呈示器的 label 属性。
可以使用 label 函数将多个数据提供程序项的值合并为单个字符串。如果已指定,此属性由 itemToLabel() 方法使用,该方法计算此列中每个项呈示器的 label 属性的值。
为 labelFunction 属性指定的函数必须具有以下签名:
labelFunction(item:Object, column:GridColumn):String
item 参数为整个行的数据提供程序项。第二个参数是此列对象。
典型的 label 函数可以连接数据提供程序项的 firstName 和 lastName 属性,或对 Date 值属性设置某种自定义格式。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 labelFunctionChanged 事件。
实现
public function get labelFunction():Function public function set labelFunction(value:Function):void相关 API 元素
maxWidth | 属性 |
maxWidth:Number| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
此列的最大宽度,以像素为单位。如果已指定,网格布局使用 typicalItem 和 maxWidth 的宽度之间的较小值作为列的布局宽度。如果此列可调整大小,则此属性会限制用户可调整的最大列宽。设置此属性不更改 width 或 minWidth 属性。
默认值为 NaN。
此属性可用作数据绑定的源。修改此属性后,将调度 maxWidthChanged 事件。
实现
public function get maxWidth():Number public function set maxWidth(value:Number):voidminWidth | 属性 |
minWidth:Number| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
此列的最小宽度,以像素为单位。如果已指定,网格布局将使用 typicalItem 和 minWidth 的宽度之间的较大值作为列的布局宽度。如果此列可调整大小,则此属性会限制用户可调整的最小列宽。设置此属性不更改 width 或 maxWidth 属性。
默认值为 20。
此属性可用作数据绑定的源。修改此属性后,将调度 minWidthChanged 事件。
实现
public function get minWidth():Number public function set minWidth(value:Number):voidrendererIsEditable | 属性 |
rendererIsEditable:Boolean| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
确定是否能对项呈示器的任意控件进行编辑。如果列是可编辑的,则当用户开始编辑项呈示器时,项呈示器中的可聚焦控件将聚焦于键盘。
如果将此属性设置为 true,则用户可以通过单击单元格内部来使单元格可编辑。由于单元格可编辑,因此 DataGrid 显示 editorIndicator 外观部件,该外观部件显示在 selectionIndicator 外观部件之上。因此,在完成编辑会话之前,用户无法看到单元格选择的指示符。您可以创建自定义外观来删除或修改 editorIndicator 外观部件,以便显示 selectionIndicator 外观部件。例如,可以设置 editorIndicator 的 alpha 属性以显示 selectionIndicator,或更改 editorIndicator 的大小使其小于单元格。
如果将此属性设置为 true,则您需要验证和保存由项呈示器收集的输入。如果项呈示器包含 IGridItemRenderer.prepare() 方法的覆盖,则您必须确保不会覆盖未保存的输入字段。例如,rendererIsEditable 为 true,且呈示器包含单个 TextInput 元素,该元素显示 data.myDataField 的值。如果呈示器的 prepare() 方法设置 TextInput 控件的 text 属性,则当存在暂挂的更改时,prepare() 方法不得设置 text 属性。
默认值为 false。
此属性可用作数据绑定的源。修改此属性后,将调度 rendererIsEditableChanged 事件。
实现
public function get rendererIsEditable():Boolean public function set rendererIsEditable(value:Boolean):voidresizable | 属性 |
resizable:Boolean| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
指示是否允许用户调整列宽大小。如果为 true,且关联网格的 resizableColumns 属性也为 true,则用户可以拖动列标题之间的网格线以调整列大小。
默认值为 true。
此属性可用作数据绑定的源。修改此属性后,将调度 resizableChanged 事件。
实现
public function get resizable():Boolean public function set resizable(value:Boolean):voidshowDataTips | 属性 |
showDataTips:*| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
指示是否在列中显示数据提示。如果为 true,则显示行中文本的数据提示。数据提示是一些工具提示,用于显示对行而言过长的文本。
如果未定义此属性的值(默认情况),则关联网格的 showDataTips 属性决定是否显示数据提示。如果已设置此属性,则忽略网格的 showDataTips 属性。
默认值为 undefined。
此属性可用作数据绑定的源。修改此属性后,将调度 showDataTipsChanged 事件。
实现
public function get showDataTips():* public function set showDataTips(value:any):void相关 API 元素
sortable | 属性 |
sortable:Boolean| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
如果为 true,网格的数据提供程序为 ICollectionView,且关联网格的 sortableColumns 属性为 true,则此列支持交互式排序。通常,列标题通过将数据提供程序的 sort 属性设置为 Sort 对象(该对象的 SortField 为此列的 dataField)来处理鼠标单击操作。
如果数据提供程序不是 ICollectionView,则此属性不起作用。
默认值为 true。
此属性可用作数据绑定的源。修改此属性后,将调度 sortableChanged 事件。
实现
public function get sortable():Boolean public function set sortable(value:Boolean):voidsortCompareFunction | 属性 |
sortCompareFunction:Function| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
对此列中的数据元素排序时比较两个元素的函数。如果指定 labelFunction 属性的值,通常还提供 sortCompareFunction。
sortCompareFunction 的签名必须与以下内容匹配:
sortCompareFunction(obj1:Object, obj2:Object, column:GridColumn):int
函数应该基于对象比较结果返回值:
- 如果按升序顺序 obj1 应出现在 obj2 前面,则返回 -1。
- 如果 obj1 = obj2,则返回 0。
- 如果按升序顺序 obj1 应出现在 obj2 后面,则返回 1。
此函数可以使用列参数编写通用的 compare 函数。
注意:obj1 和 obj2 参数是整个数据提供程序元素,而不只是项目数据。
如果 dataProvider 不是 ICollectionView,则此属性不起作用。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 sortCompareFunctionChanged 事件。
实现
public function get sortCompareFunction():Function public function set sortCompareFunction(value:Function):voidsortDescending | 属性 |
sortDescending:Boolean| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
如果为 true,则按降序顺序对此列排序。例如,如果列的 dataField 包含数字值,则包含此列中最大值的行将为第一行。
设置此属性不会开始进行排序;这只是在设置排序方向。在调用 dataProvider.refresh() 方法时,执行排序。
如果数据提供程序不是 ICollectionView,则此属性不起作用。
默认值为 false。
此属性可用作数据绑定的源。修改此属性后,将调度 sortDescendingChanged 事件。
实现
public function get sortDescending():Boolean public function set sortDescending(value:Boolean):voidsortField | 属性 |
sortField:SortField [只读] | 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
返回 SortField(可用于按此列的 dataField 对集合进行排序)。
如果已定义 sortCompareFunction 属性,则自动设置 SortField 的 compareFunction。
如果未定义 sortCompareFunction 属性,且 dataField 较复杂,则将 SortField 的 compare 函数指定给封装默认 compare 函数的闭包,以处理复杂的 dataField。
如果未定义 sortCompareFunction 和 dataField 属性,但已定义 labelFunction 属性,则将 compareFunction 指定给一个闭包,以对应用于数据对象的 labelFunction 执行基本字符串比较。
实现
public function get sortField():SortField相关 API 元素
visible | 属性 |
width | 属性 |
GridColumn | () | 构造函数 |
itemToDataTip | () | 方法 |
public function itemToDataTip(item:Object):String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
将指定的数据提供程序项转换为特定于列的数据提示字符串。
此方法使用 dataTipField 和 dataTipFunction 值。如果这些属性为 null,将使用关联的网格控件中对应的属性。如果网格控件中的 dataTipField 属性也是 null,则使用 dataField 属性。
如果 dataTipFunction 和 dataTipFormatter 为 null,则该方法的值与 item[dataTipField].toString() 的值相同。如果 dataTipFormatter 已指定,则该方法的值与 dataTipFormatter.format(item[dataTipField]) 的值相同。如果解析项的 dataField 时导致引发错误,则将返回 ERROR_TEXT。
如果 item 和 dataTipFunction 都不是 null,则此方法返回 dataTipFunction(item, this),其中第二个参数是此 GridColumn。
参数
item:Object — grid.dataProvider.getItemAt(rowIndex) 的值。
|
String — 指定的数据提供程序项的特定于列的字符串或 ERROR_TEXT。
|
itemToLabel | () | 方法 |
public function itemToLabel(item:Object):String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
将指定的数据提供程序项转换为特定于列的字符串。此方法用于初始化项呈示器的 label 属性。
如果 labelFunction 为 null,且 dataField 是一个不包含“.”字段名分隔符的字符串,且格式化程序为 null,则此方法等同于:
item[dataField].toString()
如果格式化程序已指定,则此方法的值为:
formatter.format(item[dataField])
如果 dataField 是以“.”分隔的路径,则此方法查找各个连续的路径元素。例如,如果为 "foo.bar.baz",则此方法基于 item.foo.bar.baz 的值返回一个字符串。如果解析项的 dataField 时导致引发错误,则返回 ERROR_TEXT。
如果 item 和 labelFunction 都不是 null,则此方法返回 labelFunction(item, this),其中第二个参数是此 GridColumn。
参数
item:Object — grid.dataProvider.getItemAt(rowIndex) 的值。
|
String — 指定的 dataProvider 项的特定于列的字符串或 ERROR_TEXT。
|
itemToRenderer | () | 方法 |
public function itemToRenderer(item:Object):IFactory| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
将指定的数据提供程序项转换为特定于列的项呈示器工厂。默认情况下,如果此方法为非 null,它将调用 itemRendererFunction,否则,仅返回列的 itemRenderer 属性的值。
参数
item:Object — grid.dataProvider.getItemAt(rowIndex) 的值。
|
IFactory — 指定的 dataProvider 项的特定于列的项呈示器工厂。
|
ERROR_TEXT | 常量 |
public static const ERROR_TEXT:String = "unknown"| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10, AIR 2.5 |
如果解析相应的属性名称(路径)失败,则为 itemToLabel() 或 itemToDataTip() 方法的返回值。此常量的值为单个空格字符串:" "。
相关 API 元素
<?xml version="1.0" encoding="utf-8"?>
<!--
A simple example of a DataGrid with explicitly specified columns.
The DataGrid's columns are specified by an ArrayList (an IList) and can always be accessed as such.
For example dataGrid.columns.length returns the total number of columns and
dataGrid.columns.getItemAt(index) returns the GridColumn at the specified index. The columns list
is mutable, which means that GridColumns can be added or removed at any time.
Column widths do not depend on the column's headerText, they're based on the rendered widths of
the DataGrid's typicalItem. If that's not specified, then the first data item is used. That's the
case here. Each column can specify an explicit width and by default all GridColumns are
resizable="true", which means that the column can be interactively resized by dragging the edges
between columns. Interactively resizing column widths changes the DataGrid's measuredWidth which
can be a little disconcerting if the DataGrid's width is not constrained. In this example we've
constrained the DataGrid's left and right edges which prevents changes in the DataGrid's
measuredWidth from affecting its actual width.
-->
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<s:Panel title="Spark DataGrid Control Example which demonstrates a simple DataGrid with explicitly specified columns"
width="75%" height="75%"
horizontalCenter="0" verticalCenter="0">
<s:DataGrid id="dataGrid" left="5" right="5" top="5" bottom="5">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="key" headerText="Key"/>
<s:GridColumn dataField="name" headerText="Name"/>
<s:GridColumn dataField="price" headerText="Price"/>
<s:GridColumn dataField="call" headerText="Call"/>
</s:ArrayList>
</s:columns>
<s:ArrayCollection>
<s:DataItem key="1000" name="Abrasive" price="100.11" call="false"/>
<s:DataItem key="1001" name="Brush" price="110.01" call="true"/>
<s:DataItem key="1002" name="Clamp" price="120.02" call="false"/>
<s:DataItem key="1003" name="Drill" price="130.03" call="true"/>
<s:DataItem key="1004" name="Epoxy" price="140.04" call="false"/>
<s:DataItem key="1005" name="File" price="150.05" call="true"/>
<s:DataItem key="1006" name="Gouge" price="160.06" call="false"/>
<s:DataItem key="1007" name="Hook" price="170.07" call="true"/>
<s:DataItem key="1008" name="Ink" price="180.08" call="false"/>
<s:DataItem key="1009" name="Jack" price="190.09" call="true"/>
</s:ArrayCollection>
</s:DataGrid>
</s:Panel>
</s:Application>
<?xml version="1.0" encoding="utf-8"?>
<!--
Demonstrate the GridColumn visible property and the support for dynamically adding and removing columns.
After selecting a column it's visibility can be changed, a copy of the column can be inserted, and the column can be removed.
The DataGrid columns property is a mutable list - an IList, like ArrayList - and columns can be added or removed at any time. The difference
between an IList and an intrinsic collection type like Array or Vector is that ILists dispatch events when they're changed. That's why the
DropDownList, whose dataProvider is the list of columns, tracks the changes made with the Add/Remove buttons.
Changing a column's visibility does not change its presence or position in the columns IList but it prevents the DataGrid from displaying it.
-->
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
// Insert a column to the left of specified column
private function addNewColumn(column:GridColumn):void
{
const newColumn:GridColumn = new GridColumn();
newColumn.dataField = column.dataField;
newColumn.headerText = column.headerText + "+";
dataGrid.columns.addItemAt(newColumn, column.columnIndex);
}
// Remove the specified column
private function removeColumn(column:GridColumn):void
{
dataGrid.columns.removeItemAt(column.columnIndex);
}
]]>
</fx:Script>
<s:Panel title="Spark DataGrid Control Example which demonstrates the GridColumn visible property and dynamically adding and removing columns"
width="75%" height="75%"
horizontalCenter="0" verticalCenter="0">
<s:controlBarContent>
<s:HGroup verticalAlign="baseline">
<s:DropDownList id="ddl" prompt="Select" dataProvider="{dataGrid.columns}" labelField="headerText"/>
<s:Label text="Visible:"/>
<s:CheckBox selected="@{ddl.selectedItem.visible}" enabled="{ddl.selectedItem}"/>
<s:Button label="Add" click="addNewColumn(ddl.selectedItem)" enabled="{ddl.selectedItem}"/>
<s:Button label="Remove" click="removeColumn(ddl.selectedItem)" enabled="{ddl.selectedItem}"/>
</s:HGroup>
</s:controlBarContent>
<s:DataGrid id="dataGrid" left="5" right="5" top="5" bottom="5">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="key" headerText="Key"/>
<s:GridColumn dataField="name" headerText="Name"/>
<s:GridColumn dataField="price" headerText="Price"/>
<s:GridColumn dataField="call" headerText="Call"/>
</s:ArrayList>
</s:columns>
<s:ArrayCollection>
<s:DataItem key="1000" name="Abrasive" price="100.11" call="false"/>
<s:DataItem key="1001" name="Brush" price="110.01" call="true"/>
<s:DataItem key="1002" name="Clamp" price="120.02" call="false"/>
<s:DataItem key="1003" name="Drill" price="130.03" call="true"/>
<s:DataItem key="1004" name="Epoxy" price="140.04" call="false"/>
<s:DataItem key="1005" name="File" price="150.05" call="true"/>
<s:DataItem key="1006" name="Gouge" price="160.06" call="false"/>
<s:DataItem key="1007" name="Hook" price="170.07" call="true"/>
<s:DataItem key="1008" name="Ink" price="180.08" call="false"/>
<s:DataItem key="1009" name="Jack" price="190.09" call="true"/>
</s:ArrayCollection>
</s:DataGrid>
</s:Panel>
</s:Application>
Tue Jun 12 2018, 11:04 AM Z
显示 MXML 语法