mx.controls.dataGridClassesDataGridHeader DataGridHeader 类定义 DataGrid 控件的默认标题渲染器。mx.controls.dataGridClasses:DataGridHeaderBase DataGridHeader 类定义 DataGrid 控件的默认标题渲染器。默认情况下,标题渲染器将绘制与列表中每个标题相关联的文本;如果按该列排序,还将绘制可选排序箭头。 mx.controls.DataGridDataGridHeader 构造函数。 构造函数。 clearSeparators 移除用户通常用于调整列大小的列标题分隔符。 移除用户通常用于调整列大小的列标题分隔符。 createChildren ‏‏创建组件的子对象。 ‏‏创建组件的子对象。此方法是一种高级方法,可在创建 UIComponent 的子类时覆盖。

可在自身内部创建其它组件或对象的组件称为组合组件。例如,Flex ComboBox 控件实际上包含一个 TextInput 控件(用于定义 ComboBox 的文本区域)和一个 Button 控件(用于定义 ComboBox 箭头)。组件实现 createChildren() 方法以在其内部创建子对象(如其它组件)。

createChildren() 方法的覆盖内部,您可以调用 addChild() 方法来添加各个子对象。

您无需直接调用此方法,Flex 会调用 createChildren() 方法来响应对 addChild() 方法的调用,用以将组件添加到其父项。

drawColumnDragOverlay 使用指定的颜色在给定的 Sprite 中采用指定的位置、宽度和高度在拖动列上绘制叠加层。indicator一个 Sprite,其中应包含指示正在拖动某列的图形。 x建议的指示符 x 位置。 y建议的指示符 y 位置。 width建议的指示符宽度。 height建议的指示符高度。 color建议的指示符颜色。 itemRenderermx.controls.listClasses:IListItemRenderer正在拖动的项呈示器。 使用指定的颜色在给定的 Sprite 中采用指定的位置、宽度和高度在拖动列上绘制叠加层。 drawHeaderBackground 在给定的 UIComponent 中绘制标题的背景。headerBGmx.core:UIComponent将包含标题背景图形的 UIComponent。 在给定的 UIComponent 中绘制标题的背景。如果组件的宽度发生更改,则绘制的图形可能会水平缩放;或再次调用此方法以使用不同的宽度/高度重新绘制。 drawHeaderIndicator 使用指定的颜色在给定的 Sprite 中采用指定的位置、宽度和高度绘制加亮指示符。indicator一个 Sprite,其中应该包含使渲染器显示加亮状态的图形。 x建议的指示符 x 位置。 y建议的指示符 y 位置。 width建议的指示符宽度。 height建议的指示符高度。 color建议的指示符颜色。 itemRenderermx.controls.listClasses:IListItemRenderer加亮的项呈示器。 使用指定的颜色在给定的 Sprite 中采用指定的位置、宽度和高度绘制加亮指示符。 drawSelectionIndicator 使用指定的颜色在给定的 Sprite 中采用指定的位置、宽度和高度绘制选择指示符。indicator一个 Sprite,其中应该包含使渲染器显示选中状态的图形。 x建议的指示符 x 位置。 y建议的指示符 y 位置。 width建议的指示符宽度。 height建议的指示符高度。 color建议的指示符颜色。 itemRenderermx.controls.listClasses:IListItemRenderer选中的项呈示器。 使用指定的颜色在给定的 Sprite 中采用指定的位置、宽度和高度绘制选择指示符。 drawSeparators 创建用户通常用于调整列大小的列标题分隔符并将其显示出来。 创建用户通常用于调整列大小的列标题分隔符并将其显示出来。此实现使用相同的 Sprite 作为行和列背景,并添加了 headerSeparatorSkin 实例,另外还附加了鼠标侦听器,以了解用户何时想要调整列。 measure 计算组件的默认大小和(可选)默认最小大小。 计算组件的默认大小和(可选)默认最小大小。此方法是一种高级方法,可在创建 UIComponent 的子类时覆盖。

您无需直接调用此方法,使用 addChild() 方法将组件添加到某个容器时,以及调用组件的 invalidateSize() 方法时,Flex 将调用 measure() 方法。

当设置组件的特定高度和宽度时,Flex 不会调用 measure() 方法,即使您显式调用 invalidateSize() 方法也不例外。也就是说,仅当组件的 explicitWidth 属性或 explicitHeight 属性设置为 NaN 时,Flex 才调用 measure() 方法。

覆盖此方法时,必须设置 measuredWidthmeasuredHeight 属性以定义默认大小。

大多数组件都会根据其显示内容以及影响内容显示的属性来计算这些值。一少部分组件只有硬编码的默认值。

measure() 的概念点供组件提供其原始或固有大小作为默认值。因此,measuredWidthmeasuredHeight 属性应由以下几个因素确定:

  • 组件需要显示的文本量。
  • 文本的样式,如 fontSize
  • 组件所显示的 JPEG 图像的大小。
  • 组件子项的测量大小或显式大小。
  • 任何边框、边距和间隙。

某些情况下,确定默认值的方式并不固定。例如,对于一个简单的 GreenCircle 组件,可能只需在其 measure() 方法中设置 measuredWidth = 100 和 measuredHeight = 100 便可提供合理的默认大小。而在其它情况下(例如 TextArea),相应计算(例如查找合适的宽度和高度,使其刚好适合显示所有文本并拥有黄金矩形的高宽比)所耗费的时间可能会过长。

measure() 的默认实现将 measuredWidthmeasuredHeightmeasuredMinWidthmeasuredMinHeight 设置为 0

placeSortArrow 在作为当前排序键的列上绘制排序箭头图形。 在作为当前排序键的列上绘制排序箭头图形。此实现将创建或重用由 sortArrowSkin 样式属性指定的外观实例,并将其放置在合适的列标题中。如果排序箭头遮挡了标题中的文本,它还将缩小列标题的尺寸。 updateDisplayList 绘制对象和/或设置其子项的大小和位置。w指定组件在组件坐标中的宽度(以像素为单位),而不考虑该组件的 scaleX 属性值。 h指定组件在组件坐标中的高度(以像素为单位),而不考虑该组件的 scaleY 属性值。 绘制对象和/或设置其子项的大小和位置。此方法是一种高级方法,可在创建 UIComponent 的子类时覆盖。

您无需直接调用此方法,使用 addChild() 方法将组件添加到容器时,以及调用组件的 invalidateDisplayList() 方法时,Flex 将调用 updateDisplayList() 方法。

如果组件没有子项,您就可以借助此方法使用针对组件的 Graphics 对象(如 graphics.drawRect())上的一些方法以编程方式进行绘制。

如果组件有子项,您就可以借助此方法调用其子项上的 move()setActualSize() 方法。

请注意,您应使用 unscaledWidthunscaledHeight 属性而不是 widthheight 属性,这很重要。

bottomOffset 与渲染器内容底部的偏移量(以像素为单位)。0 与渲染器内容底部的偏移量(以像素为单位)。 cachedHeaderHeight 缓存的标题高度(以像素为单位)。0 缓存的标题高度(以像素为单位)。 cachedPaddingBottom 缓存的渲染器底部的填充(以像素为单位)。0 缓存的渲染器底部的填充(以像素为单位)。 cachedPaddingTop 缓存的渲染器顶部的填充(以像素为单位)。0 缓存的渲染器顶部的填充(以像素为单位)。 dataGrid 与此渲染器相关的 DataGrid 控件。mx.controls:DataGrid 与此渲染器相关的 DataGrid 控件。 headerItems 一个标题渲染器实例 Array。unknown 一个标题渲染器实例 Array。 leftOffset 与渲染器内容左侧的偏移量(以像素为单位)。0 与渲染器内容左侧的偏移量(以像素为单位)。 needRightSeparatorEvents 是否需要在最右端使用分隔符事件 false 是否需要在最右端使用分隔符事件 needRightSeparator 是否需要在最右端使用分隔符 false 是否需要在最右端使用分隔符 rightOffset 与渲染器内容右侧的偏移量(以像素为单位)。0 与渲染器内容右侧的偏移量(以像素为单位)。 topOffset 与渲染器内容顶部的偏移量(以像素为单位)。0 与渲染器内容顶部的偏移量(以像素为单位)。 enabled
DataGridDragProxy DataGridDragProxy 类定义默认拖动代理,从 DataGrid 控件中拖动数据时将使用此代理。mx.core:UIComponent DataGridDragProxy 类定义默认拖动代理,从 DataGrid 控件中拖动数据时将使用此代理。 DataGridDragProxy 构造函数。 构造函数。 DataGridBase DataGridBase 类是可显示项目(位于多个列中)列表的控件的基类。The DataGridBase class inherits all the properties of its parent classes and adds the following properties:

  <mx:tagname
    headerHeight="depends on styles and header renderer"
    showHeaders="true|false"
  />
  
]]>
mx.core:IFontContextComponentmx.controls.listClasses:ListBase DataGridBase 类是可显示项目(位于多个列中)列表的控件的基类。此类不直接应用于应用程序。 DataGridBase 构造函数。 构造函数。 adjustRow 针对给定的 rowNum、行位置和行高调整渲染器的大小和位置。contentHoldermx.controls.listClasses:ListBaseContentHolder行的集合(被锁定行、常规行)。 rowNum行号。 yy行的 y 位置。 hh行高。 针对给定的 rowNum、行位置和行高调整渲染器的大小和位置。 calculateRowHeight 计算一行中列的行高。行高(以像素为单位)。 data此行的数据提供程序项目。 hh当前行高。 skipVisiblefalse如果为 true,则不需要测量可见列中的项呈示器。 计算一行中列的行高。如果 skipVisibletrue,则 DataGridBase 已经知道完全适合显示区域的列渲染器的高度,所以此方法只需对下面这种项呈示器进行计算:显示区域中有该行的其它列时就会存在这种项呈示器。需要进行此计算,以便用户在水平滚动时,行高不会随着不同列的出现或消失而进行调整。 clearRow 从对于给定 rowNum 应为空的行中删除渲染器。contentHoldermx.controls.listClasses:ListBaseContentHolder行的集合(被锁定行、常规行)。 rowNum行号。 从对于给定 rowNum 应为空的行中删除渲染器。 createColumnItemRenderer 返回列单元格或列标题的项呈示器。项呈示器。 mx.controls.listClasses:IListItemRenderercmx.controls.dataGridClasses:DataGridColumn项呈示器的 DataGridColumn 实例。 forHeader如果为 true,则返回标题的项呈示器;如果为 false,则返回列单元格的项呈示器。 data如果将 forHeader 设置为 false,则为项呈示器的 data Object。如果将 forHeader 设置为 true,则为 DataGridColumn 实例。 返回列单元格或列标题的项呈示器。如果没有为列分配自定义渲染器,则此方法返回默认项呈示器。

此方法为公用方法,因此可供 DataGridHeader 类访问,主要应用于 DataGrid 控件的子类。

drawVisibleItem 绘制可见的项目。uid用于查找渲染器的 uid。 selectedfalse如果应将渲染器绘制为选中状态,则为 truehighlightedfalse如果应将渲染器绘制为加亮状态,则为 truecaretfalse如果应将渲染器绘制为选择尖号,则为 truetransitionfalse如果应借助效果将选择状态进行淡入处理,则为 true 绘制可见的项目。 finishKeySelection 基于 caretIndex 和 anchorIndex 属性设置所选项目。 基于 caretIndexanchorIndex 属性设置所选项目。如果键盘选择处理函数在滚动以获得更多项目时发生页面错误,则键盘选择处理函数和 updateDisplayList() 方法将调用此方法。 itemRendererToIndices 返回一个 Point 对象,用于定义项呈示器的 columnIndex 和 rowIndex 属性。一个 Point 对象。x 属性为 columnIndexy 属性为 rowIndexitemmx.controls.listClasses:IListItemRenderer项呈示器。 返回一个 Point 对象,用于定义项呈示器的 columnIndexrowIndex 属性。由于只为可查看行组中的项目创建项呈示器,因此您无法使用此方法获得不可见项目的索引。此外,项呈示器可循环使用,因此如果重用某个项呈示器来显示其它项目,则对该项目得到的索引可能会发生变化。通常都是在项呈示器所显示的数据集尚未更改时,在处理鼠标和键盘输入的过程中调用此方法。 layoutColumnItemRenderer 针对某列确定 itemRenderer 的大小和临时位置,同时以 Point 的形式返回其大小。将渲染器大小设置为点。 cmx.controls.dataGridClasses:DataGridColumn渲染器的 DataGridColumn。 itemmx.controls.listClasses:IListItemRenderer渲染器。 xxx 位置。 yyy 位置。 针对某列确定 itemRenderer 的大小和临时位置,同时以 Point 的形式返回其大小。以后可能会因对齐设置而调整最终位置。 makeListData 创建新 DataGridListData 实例,并基于输入数据提供程序项目来填充字段。新构建的 ListData 对象。 mx.controls.listClasses:BaseListDatadata用于填充 ListData 的数据提供程序项目。 uid该项目的 UID。 rowNum数据提供程序中项目的索引。 columnNum与此项目相关的 columnIndex。 columnmx.controls.dataGridClasses:DataGridColumn与此项相关的列。 创建新 DataGridListData 实例,并基于输入数据提供程序项目来填充字段。 makeRow 针对给定的 rowNum、dataObject 和 uid 创建渲染器。行高。 contentHoldermx.controls.listClasses:ListBaseContentHolder行的集合(被锁定行、常规行)。 rowNum行号。 left与第一列左侧的偏移量。 right与最后一列右侧的偏移量。 yy行的 y 位置。 data行的数据。 uid数据的 uid。 针对给定的 rowNum、dataObject 和 uid 创建渲染器。 moveSelectionVertically 沿垂直方向移动所选项目,以响应用户用向上键或向下键以及功能键(如 Shift 和 Ctrl 键)选择项目的操作。code按下的键(例如 Keyboard.DOWN)。 shiftKey如果在按住 Shift 键的同时按下某个键,则为 truectrlKey如果在按住 Ctrl 键的同时按下某个键,则为 true 沿垂直方向移动所选项目,以响应用户用向上键或向下键以及功能键(如 Shift 和 Ctrl 键)选择项目的操作。这种方法可能会更改 horizontalScrollPositionverticalScrollPositioncaretIndex 属性,并调用 finishKeySelection() 方法来更新选项。 prepareRowArray 确保行数组中有一个槽对应给定的行号。contentHoldermx.controls.listClasses:ListBaseContentHolder行的集合(被锁定行、常规行)。 rowNum行号。 确保行数组中有一个槽对应给定的行号。 removeExtraRow 从 contentHolder 的末尾删除额外行。contentHoldermx.controls.listClasses:ListBaseContentHolder行的集合(被锁定行、常规行)。 从 contentHolder 的末尾删除额外行。 setRowInfo 针对给定的 rowNum、行位置和行高设置 rowInfo。contentHoldermx.controls.listClasses:ListBaseContentHolder行的集合(被锁定行、常规行)。 rowNum行号。 yy行的 y 位置。 hh行高。 uid数据的 UID。 针对给定的 rowNum、行位置和行高设置 rowInfo。 setupColumnItemRenderer 为某列设置项呈示器,并将其放置在 listItems 数组中所请求的位置。此列和行的渲染器。 mx.controls.listClasses:IListItemRenderercmx.controls.dataGridClasses:DataGridColumn渲染器的 DataGridColumn。 contentHoldermx.controls.listClasses:ListBaseContentHolder行的集合(被锁定行、常规行)。 rowNum行号。 colNum列编号。 data行的数据。 uid数据的 uid。 为某列设置项呈示器,并将其放置在 listItems 数组中所请求的位置。 updateRendererDisplayList 同步重绘渲染器。rmx.controls.listClasses:IListItemRenderer渲染器; 同步重绘渲染器。 columnCaretIndicator 包含图形的 DisplayObject,该图形指示哪个渲染器是 lockedColumns 的尖号。 包含图形的 DisplayObject,该图形指示哪个渲染器是 lockedColumns 的尖号。 columnHighlightIndicator 包含图形的 DisplayObject,该图形指示为 lockedColumns 加亮哪个渲染器。 包含图形的 DisplayObject,该图形指示为 lockedColumns 加亮哪个渲染器。 columnMap 项呈示器到列的映射。 项呈示器到列的映射。与 ListBase.rowMap 相同,此属性包含项呈示器与其所属列的哈希映射。项呈示器按其 DisplayObject 名称编制索引。 mx.controls.listClasses.ListBase.rowMapfreeItemRenderersTable 未使用的项呈示器的每列表格。 未使用的项呈示器的每列表格。大部分列表类都会在滚离屏幕时回收已经创建的项呈示器。重复使用的渲染器都存储在该位置。此表格是一个 Dictionary,其中的条目是一些按实际 DataGridColumn(而不是列的 dataField 或其它属性)编制了索引的数组,并且每个数组都是当前未用渲染器的堆栈。 headerMask header 标题子组件。mx.controls.dataGridClasses:DataGridHeaderBase 标题子组件。 lockedColumnAndRowContent 包含锁定列的锁定行的子组件。mx.controls.dataGridClasses:DataGridLockedRowContentHolder 包含锁定列的锁定行的子组件。 lockedColumnContent 包含锁定列的子组件。mx.controls.listClasses:ListBaseContentHolder 包含锁定列的子组件。 lockedColumnHeader 锁定的列的标题子组件。mx.controls.dataGridClasses:DataGridHeaderBase 锁定的列的标题子组件。 lockedRowContent 包含锁定行的子组件。mx.controls.dataGridClasses:DataGridLockedRowContentHolder 包含锁定行的子组件。 fontContext 为此组件提供字体上下文的模块工厂。mx.core:IFlexModuleFactory 为此组件提供字体上下文的模块工厂。 headerHeight 列的标题单元格的高度(以像素为单位)。 列的标题单元格的高度(以像素为单位)。如果已显式设置,则此高度将用于所有的标题。如果未显式进行设置,则此高度将基于样式设置和标题渲染器。 lockedColumnCount 滚动的控件中第一列的索引。0 滚动的控件中第一列的索引。索引低于此值的列在视图中保持固定。并非所有列表类都支持。 lockedRowCount 滚动的控件中第一行的索引。0 滚动的控件中第一行的索引。此行上方的行在视图中保持固定。 showHeaders 指示控件是否应显示列标题的标志。true 指示控件是否应显示列标题的标志。如果为 true,则控件显示列标题。
DataGridListData DataGridListData 类定义 listData 属性的数据类型,此属性由 DataGrid 控件的嵌入式项呈示器或嵌入式项目编辑器实现。mx.controls.listClasses:BaseListData DataGridListData 类定义 listData 属性的数据类型,此属性由 DataGrid 控件的嵌入式项呈示器或嵌入式项目编辑器实现。所有嵌入式项呈示器和嵌入式项目编辑器必须实现 IDropInListItemRenderer 接口,此接口定义了 listData 属性。

尽管此类的属性是可写的,但应将其视为只读。它们由 DataGrid 类进行初始化,并由项呈示器或项目编辑器读取。更改这些值可能导致意外结果。

mx.controls.listClasses.IDropInListItemRendererDataGridListData 构造函数。text项目数据的文本表示。 dataField与列相关联的数据提供程序中的字段或属性名称。 columnIndex项目在 DataGrid 控件的列中的列索引。 uid项目的唯一标识符。 ownermx.core:IUIComponent对 DataGrid 控件的引用。 rowIndex0项目在 DataGrid 控件的数据提供程序中的索引。 构造函数。 dataField 与列相关联的数据提供程序中的字段或属性名称。 与列相关联的数据提供程序中的字段或属性名称。
DataGridLockedRowContentHolder DataGridLockedRowContentHolder 类在 DataGrid 控件中定义一个容器,该容器容纳控件的所有项呈示器和项目编辑器。mx.controls.listClasses:ListBaseContentHolder DataGridLockedRowContentHolder 类在 DataGrid 控件中定义一个容器,该容器容纳控件的所有项呈示器和项目编辑器。Flex 使用该容器为扩展到控件之外的渲染器区域设置蒙版,并阻止特定样式(如 backgroundColor)传播到渲染器,以便在整个控件内显示加亮效果和交替行颜色。 mx.controls.DataGridDataGridLockedRowContentHolder 构造函数。parentListmx.controls.listClasses:ListBaseDataGrid 控件。 构造函数。 measuredHeight DataGrid 控件的度量高度。 DataGrid 控件的度量高度。 DataGridHeaderBase DataGridHeaderBase 类定义 DataGridHeader 类(用于定义 DataGrid 控件的项呈示器)的基类。mx.core:UIComponent DataGridHeaderBase 类定义 DataGridHeader 类(用于定义 DataGrid 控件的项呈示器)的基类。 DataGridHeaderBase 构造函数。 构造函数。 DataGridColumn DataGridColumn 类描述 DataGrid 控件中的列。You use the <mx.DataGridColumn> tag to configure a column of a DataGrid control. You specify the <mx.DataGridColumn> tag as a child of the columns property in MXML. The <mx.DataGridColumn> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:DataGridColumn
  Properties 
    dataField="No default"
    dataTipField="No default"
    dataTipFunction="No default"
    editable="true|false"
    editorDataField="text"
    editorHeightOffset="0"
    editorUsesEnterKey="false|true"
    editorWidthOffset="0"
    editorXOffset="0"
    editorYOffset="0"
    headerRenderer="DataGridItemRenderer"
    headerText="No default"
    headerWordWrap="undefined"
    imeMode="null"
    itemEditor="TextInput"
    itemRenderer="DataGridItemRenderer"
    labelFunction="No default"
    minWidth="20"
    rendererIsEditor="false|true"
    resizable="true|false"
    showDataTips="false|true"
    sortable="true|false"
    sortCompareFunction="No default"
    sortDescending="false|true"
    visible="true|false"
    width="100"
    wordWrap="false|true"
 
  Styles
    backgroundColor="0xFFFFFF"
    color="No default."
    disabledColor="0xAAB3B3"
    fontAntiAliasType="advanced"
    fontFamily="No default"
    fontGridFitType="pixel"
    fontSharpness="0"
    fontSize="No default"
    fontStyle="normal|italic"
    fontThickness="0"
    fontWeight="normal|bold"
    headerStyleName="No default"
    paddingLeft="0"
    paddingRight="0"
    textAlign="right|center|left"
    textDecoration="none|underline"
    textIndent="0"
  />
  

]]>
mx.core:IIMESupportmx.styles:CSSStyleDeclaration DataGridColumn 类描述 DataGrid 控件中的列。每个可显示的列都有一个 DataGridColumn,即使该列被隐藏或不在屏幕范围内。DataGrid 控件的数据提供程序项目可以包含不显示的属性,因此无需 DataGridColumn。DataGridColumn 允许指定以下方面的内容:列中文本的颜色和字体;显示列中数据的组件类型;是否可对列进行编辑、排序或调整大小;以及列标题的文本。

注意:

  • DataGridColumn 只包含列的相关信息,它不是列中项呈示器的父项。
  • 如果指定的 DataGridColumn 类没有 dataField 属性,则必须指定 sortCompareFunction 属性。否则,排序操作可能导致运行时错误。

mx.controls.DataGridmx.styles.CSSStyleDeclarationDataGridColumn 构造函数。columnNamenull与列相关联的数据提供程序中的字段名称以及此列标题单元格的文本。这等效于设置 dataFieldheaderText 属性。 构造函数。 complexColumnSortCompareobj1obj2deriveComplexColumnDatadatagetItemRendererFactory 返回相应的工厂;如果尚未指定,则使用默认工厂。如果 data 为空,则返回默认的项呈示器;否则,返回自定义的项呈示器。 mx.core:IFactoryforHeader如果是标题渲染器,则为 truedata供项呈示器显示的数据。 返回相应的工厂;如果尚未指定,则使用默认工厂。 itemToDataTip 返回 String,表示项呈示器基于 dataTipField 和 dataTipFunction 属性显示的给定数据对象的数据提示。基于数据的可显示 String。 data要呈示的对象。 返回 String,表示项呈示器基于 dataTipFielddataTipFunction 属性显示的给定数据对象的数据提示。如果该方法无法将参数转换为 String,则会返回一个空格。

此方法供创建 DataGridColumn 类的子类的开发人员使用。它不适用于应用程序开发人员。

itemToLabel 返回项呈示器针对给定数据对象显示的 String。基于数据的可显示 String。 data要呈示的对象。 返回项呈示器针对给定数据对象显示的 String。如果 DataGridColumn 或其 DataGrid 控件具有非空 labelFunction 属性,则它会将该函数应用于数据对象。否则,此方法会提取由 dataField 属性指定的字段的内容,或者获取数据对象的字符串值。如果该方法无法将参数转换为 String,则会返回一个空格。 draggable 一个标志,指示是否允许用户将列拖动到新位置。如果为 true,则用户可以将列标题拖动到新位置 truetrue 一个标志,指示是否允许用户将列拖动到新位置。如果为 true,则用户可以将列标题拖动到新位置 editorDataField 项目编辑器的属性名称,其中包含列表项目的新数据。text"text" 项目编辑器的属性名称,其中包含列表项目的新数据。例如,默认的 itemEditor 为 TextInput,因此,editorDataField 属性的默认值为 "text",此值指定 TextInput 控件的 text 属性。 editorHeightOffset 项目编辑器相对于项呈示器大小的高度(以像素为单位)。00 项目编辑器相对于项呈示器大小的高度(以像素为单位)。使用此属性可以使编辑器与项呈示器产生几个像素的重叠,以补偿编辑器周围的边框。请注意,在显示编辑器时,更改这些值不会对当前编辑器产生任何作用,但会影响下一个打开编辑器的项呈示器。 editorUsesEnterKey 指示项目编辑器是否使用 Enter 键的标志。falsefalse. 指示项目编辑器是否使用 Enter 键的标志。如果为 true,则项目编辑器将使用 Enter 键,而 DataGrid 不会相应地查找 Enter 键和移动编辑器。请注意,在显示编辑器时,更改此值不会对当前编辑器产生任何作用,但将影响下一个打开编辑器的项呈示器。 editorWidthOffset 项目编辑器相对于项呈示器大小的宽度(以像素为单位)。00 项目编辑器相对于项呈示器大小的宽度(以像素为单位)。使用此属性可以使编辑器与项呈示器产生几个像素的重叠,以补偿编辑器周围的边框。请注意,在显示编辑器时,更改这些值不会对当前编辑器产生任何作用,但会影响下一个打开编辑器的项呈示器。 editorXOffset 项目编辑器左上角相对于项目左上角的 x 位置(以像素为单位)。00 项目编辑器左上角相对于项目左上角的 x 位置(以像素为单位)。使用此属性可以使编辑器与项呈示器产生几个像素的重叠,以补偿编辑器周围的边框。请注意,在显示编辑器时,更改这些值不会对当前编辑器产生任何作用,但会影响下一个打开编辑器的项呈示器。 editorYOffset 项目编辑器左上角相对于项目左上角的 y 位置(以像素为单位)。00 项目编辑器左上角相对于项目左上角的 y 位置(以像素为单位)。使用此属性可以使编辑器与项呈示器产生几个像素的重叠,以补偿编辑器周围的边框。请注意,在显示编辑器时,更改这些值不会对当前编辑器产生任何作用,但会影响下一个打开编辑器的项呈示器。 itemEditor 列可编辑时,用于列的项目编辑器实例的类工厂。mx.core:IFactorynew ClassFactory(mx.controls.TextInput) 列可编辑时,用于列的项目编辑器实例的类工厂。 rendererIsEditor 指示项呈示器也是项目编辑器的标志。falsefalse 指示项呈示器也是项目编辑器的标志。如果此属性为 true,则 Flex 将忽略 itemEditor 属性并使用该项目的项呈示器作为编辑器。 resizable 一个标志,指示是否允许用户调整列的宽度。truetrue 一个标志,指示是否允许用户调整列的宽度。如果为 true,则用户可以拖动列标题之间的网格线以调整列大小。 sortDescending 指示列排序是按升序排序(设置为 false),还是按降序排序(设置为 true)。falsefalse; 指示列排序是按升序排序(设置为 false),还是按 descending 排序(设置为 true)。

设置此属性不会开始进行排序;这只是在设置排序方向。单击列标题执行排序。

sortable 一个标志,指示用户是否能够通过单击此列的标题对数据提供程序进行排序。truetrue 一个标志,指示用户是否能够通过单击此列的标题对数据提供程序进行排序。如果此属性和 DataGridsortableColumns 属性均为 true,则当用户在列标题上释放鼠标按键时,DataGrid 控件将分派 headerRelease 事件。如果没有其它处理函数调用 headerRelease 事件的 preventDefault() 方法,则列中的 dataField 属性或 sortCompareFunction 将用于重新排序 dataProvider 中的项目。 dataField 与列关联的数据提供程序项目中字段或属性的名称。 与列关联的数据提供程序项目中字段或属性的名称。需要对每个 DataGridColumn 控件设置此属性和/或 labelFunction 属性以计算项呈示器的可显示文本。如果设置了 dataFieldlabelFunction 属性,则使用 labelFunction 显示数据并使用 dataField 对数据排序。如果名为 dataField 的属性不存在,则必须设置 sortCompareFunction 以正确进行排序。

此属性的值不一定是列标题中显示的 String。此属性只用于访问数据提供程序中的数据。有关详细信息,请参阅 headerText 属性。

headerText
dataTipField 数据提供程序中显示为数据提示的字段名称。 数据提供程序中显示为数据提示的字段名称。默认情况下,DataGrid 控件在每个数据提供程序项目上查找命名为 label 的属性,然后显示该属性。然而,如果数据提供程序不包含 label 属性,您可以设置 dataTipField 属性来指定其它属性。例如,在用户查看数据库中包含的一组用户名时,可以将值设置为“FullName”。 dataTipFunction 指定在数据提供程序每个项目上运行的回调函数,以确定其数据提示。 指定在数据提供程序每个项目上运行的回调函数,以确定其数据提示。此属性由 itemToDataTip 方法使用。

默认情况下,该控件将在每个数据提供程序项目上查找名为 label 的属性,然后将其显示为它的数据提示。不过,某些数据提供程序没有 label 属性或其它可用于显示行中数据的属性。例如,您可能具有包含 lastName 和 firstName 字段的数据提供程序,但您希望将全名显示为数据提示。可以为 dataTipFunction 属性指定一个函数,该函数返回包含这两个字段值的单个 String。还可以使用 dataTipFunction 属性来处理格式和本地化。

此函数必须采用一个 Object 参数(包含数据提供程序元素)并返回一个 String。

editable 指示列中的项目是否可进行编辑的标志。true 指示列中的项目是否可进行编辑的标志。如果为 true,并且 DataGrid 的 editable 属性也为 true,则列中的项目是可编辑的且可以编辑单个项目,具体方法是:单击某个项目或使用 Tab 和箭头键导航到该项目。 enableIME 一个标志,用于指示当组件接收焦点时是否应启用 IME。 一个标志,用于指示当组件接收焦点时是否应启用 IME。如果编辑器已启动,它将相应地设置 enableIME。 headerRenderer 显示列标题的项呈示器实例的类工厂。mx.core:IFactory 显示列标题的项呈示器实例的类工厂。您可以指定嵌入式项呈示器、内嵌项呈示器或自定义项呈示器组件作为此属性的值。

默认项呈示器为 DataGridItemRenderer 类,用于将项目数据显示为文本。

headerText 此列的标题文本。 此列的标题文本。默认情况下,DataGrid 控件使用 dataField 属性的值作为标题文本。 headerWordWrap 一个标志,指示当标题中的文本不能在一行中显示时,是否能够自动换行。undefined 一个标志,指示当标题中的文本不能在一行中显示时,是否能够自动换行。如果为 undefined,则使用 DataGrid 控件的 wordWrap 属性。 imeMode 指定 IME(输入法编辑器)模式。 指定 IME(输入法编辑器)模式。IME 使用户能够用中文、日文和韩文输入文本。发生 itemFocusIn 事件时,Flex 将设置 IME 模式;发生 itemFocusOut 事件时,将它重新设置回先前的值。flash.system.IMEConversionMode 类定义此属性的有效值的常量。

默认值为空,在这种情况下,它将使用 DataGrid 控件的 imeMode 属性值。

flash.system.IMEConversionMode
itemRenderer 显示列中每个项目数据的项呈示器实例的类工厂。mx.core:IFactory 显示列中每个项目数据的项呈示器实例的类工厂。您可以指定嵌入式项呈示器、内嵌项呈示器或自定义项呈示器组件作为此属性的值。

默认项呈示器为 DataGridItemRenderer 类,用于将项目数据显示为文本。

labelFunction 确定此列中显示文本的函数。 确定此列中显示文本的函数。默认情况下,列显示与列名称匹配的数据字段的文本。不过,有时您希望显示基于多个数据字段的文本,或显示不具备自己想要格式的文本。在这种情况下,可使用 labelFunction 指定一个回调函数。

对于 DataGrid 控件,方法签名具有以下格式:

labelFunction(item:Object, column:DataGridColumn):String

其中,item 包含 DataGrid 项目对象,并且 column 指定 DataGrid 列。

回调函数可能会连接数据中的 firstName 和 lastName 字段,或者对 Date 设置某些自定义格式,也可能将月的数字形式转换为字符串形式。

minWidth 列的最小宽度。20 列的最小宽度。 nullItemRenderer 显示列中每个项目数据的项呈示器实例的类工厂。mx.core:IFactory 显示列中每个项目数据的项呈示器实例的类工厂。您可以指定嵌入式项呈示器、内嵌项呈示器或自定义项呈示器组件作为此属性的值。

默认项呈示器为 DataGridItemRenderer 类,用于将项目数据显示为文本。

showDataTips 一个标志,指示是否在列中显示数据提示。false 一个标志,指示是否在列中显示数据提示。如果为 true,则显示行中文本的数据提示。数据提示是设计用来显示文本太长而无法在行中显示的文本的工具提示。 sortCompareFunction 对列中的数据进行排序时调用的回调函数。null 对列中的数据进行排序时调用的回调函数。如果未指定此属性,则排序将尝试按基本字符串或数字顺序对数据排序。如果数据不是字符串或数字,或者 dataField 属性不是数据提供程序的有效属性,则排序将不起作用或将生成异常。如果为 labelFunction 属性指定了值,则还必须对 sortCompareFunction 属性提供一个函数,除非此列不允许排序。

DataGrid 控件使用此函数对数据提供程序集合的元素排序。回调函数的函数签名采用两个参数并具有以下格式:

mySortCompareFunction(obj1:Object, obj2:Object):int 

obj1 — 要比较的数据元素。

obj2 - 与 obj1 比较的另一个数据元素。

函数应该基于对象比较结果返回值:

  • 如果按升序顺序 obj1 应出现在 obj2 前面,则返回 -1。
  • 如果 obj1 = obj2,则返回 0。
  • 如果按升序顺序 obj1 应出现在 obj2 后面,则返回 1。

注意:obj1obj2 参数是整个数据提供程序元素,而不只是项目数据。

visible 一个标志,指示列是否可见。true 一个标志,指示列是否可见。如果为 true,则列可见。 width 列的宽度(以像素为单位)。100 列的宽度(以像素为单位)。如果 DataGrid 的 horizontalScrollPolicy 属性为 false,则所有可见列必须适合可显示区域;如果列的总宽度对于可显示区域而言太小或太大,则 DataGrid 将不会始终保持列的宽度。 wordWrap 一个标志,指示当此列中各行的文本不能在一行中显示时,是否能够自动换行。undefined 一个标志,指示当此列中各行的文本不能在一行中显示时,是否能够自动换行。如果为 undefined,则使用 DataGrid 控件的 wordWrap 属性。

仅当 DataGrid.variableRowHeight 也为 true 时才能生效。

DataGridItemRenderer DataGridItemRenderer 类定义 DataGrid 控件的默认项呈示器。mx.core:IDataRenderermx.controls.listClasses:IDropInListItemRenderermx.managers:ILayoutManagerClientmx.controls.listClasses:IListItemRenderermx.styles:IStyleClientmx.core:UITextField DataGridItemRenderer 类定义 DataGrid 控件的默认项呈示器。默认情况下,项呈示器绘制与网格中各项相关联的文本。

通过创建自定义的项呈示器,您可以覆盖默认项呈示器。

mx.controls.DataGridmx.core.IDataRenderermx.controls.listClasses.IDropInListItemRendererdataChange 当 data 属性更改时进行分派。mx.events.FlexEvent.DATA_CHANGEmx.events.FlexEventdata 属性更改时进行分派。

当您使用组件作为项呈示器时,data 属性将包含要显示的数据。您可以侦听此事件,并在 data 属性更改时更新组件。

DataGridItemRenderer 构造函数。 构造函数。 clearStyle styleProp样式属性的名称。 getClassStyleDeclarations 为应用于该组件的类型选择器返回 CSSStyleDeclaration 对象数组,如果不存在则返回 null。CSSStyleDeclaration 对象数组。 为应用于该组件的类型选择器返回 CSSStyleDeclaration 对象数组,如果不存在则返回 null

例如,假定组件 MyButton 扩展了 Button。该方法首先查找 MyButton 选择器;然后查找 Button 类型选择器;最后查找 UIComponent 类型选择器。

getStyle 样式值。 styleProp样式属性的名称。 initProtoChain 设置 inheritingStyles 和 nonInheritingStyles 对象及其主要链,以便 getStyle() 方法起作用。 设置 inheritingStylesnonInheritingStyles 对象及其主要链,以便 getStyle() 方法起作用。 notifyStyleChangeInChildren 向该组件的子项传送样式更改。styleProp样式属性的名称。 recursive是否将样式更改传播到子项的子项。 向该组件的子项传送样式更改。 regenerateStyleCache 设置内部样式缓存值,以便 getStyle() 方法可以起作用。recursive重新生成子项的原始链。 设置内部样式缓存值,以便 getStyle() 方法可以起作用。如果该对象已有子项,则重新初始化子项的样式缓存。 registerEffects 将 EffectManager 注册为每个效果事件的事件侦听器之一。effects效果名称的字符串 Array。 将 EffectManager 注册为每个效果事件的事件侦听器之一。 setStyle styleProp样式属性的名称。 newValue样式的新值。 toolTipShowHandler 定位工具提示的事件处理函数。eventmx.events:ToolTipEvent事件对象。 定位工具提示的事件处理函数。 validateDisplayList 如果 Flex 对此 ILayoutManagerClient 调用 LayoutManager.invalidateDisplayList() 方法,则在更新显示列表时将调用此函数。 如果 Flex 对此 ILayoutManagerClient 调用 LayoutManager.invalidateDisplayList() 方法,则在更新显示列表时将调用此函数。 validateProperties 如果 Flex 对此 ILayoutManagerClient 调用 LayoutManager.invalidateProperties() 方法,则在提交属性值时将调用此函数。 如果 Flex 对此 ILayoutManagerClient 调用 LayoutManager.invalidateProperties() 方法,则在提交属性值时将调用此函数。 validateSize 如果 Flex 对此 ILayoutManagerClient 调用 LayoutManager.invalidateSize() 方法,则在进行测量时会调用此函数。recursivefalse如果为 true,则调用对象子项的此方法。 如果 Flex 对此 ILayoutManagerClient 调用 LayoutManager.invalidateSize() 方法,则在进行测量时会调用此函数。 data 由 IDataRenderer 接口定义的 data 属性实现。 由 IDataRenderer 接口定义的 data 属性实现。此值将被忽略。仅使用 listData 属性。 mx.core.IDataRendererlistData 由 IDropInListItemRenderer 接口定义的 listData 属性实现。mx.controls.listClasses:BaseListData 由 IDropInListItemRenderer 接口定义的 listData 属性实现。将渲染器的文本设置为 listData 的 label 属性。 mx.controls.listClasses.IDropInListItemRendererstyleDeclaration 存储此对象的内嵌继承样式。mx.styles:CSSStyleDeclaration 存储此对象的内嵌继承样式。第一次调用该组件的 setStyle() 来设置继承样式时,将创建此 CSSStyleDeclaration。