包 | spark.components.gridClasses |
类 | public class GridColumn |
继承 | GridColumn EventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
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):void
formatter | 属性 |
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):void
labelFunction | 属性 |
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):void
minWidth | 属性 |
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):void
rendererIsEditable | 属性 |
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):void
resizable | 属性 |
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):void
showDataTips | 属性 |
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):void
sortCompareFunction | 属性 |
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):void
sortDescending | 属性 |
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):void
sortField | 属性 |
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