fl.controls
public class DataGrid
继承DataGrid Inheritance SelectableList Inheritance BaseScrollPane Inheritance UIComponent Inheritance Sprite Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
实现 IFocusManagerComponent

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

DataGrid 类是基于列表的组件,提供呈行和列分布的网格。 可以在该组件顶部指定一个可选标题行,用于显示所有属性名称。 每一行由一列或多列组成,其中每一列表示属于指定数据对象的一个属性。 DataGrid 组件用于查看数据,并不适合用作类似于 HTML 表格的布局工具。

DataGrid 组件特别适用于显示包含多个属性的对象。 DataGrid 组件所显示的数据可以包含在 DataProvider 对象中或显示为对象的数组。 DataGrid 组件的列可通过 DataGridColumn 对象的列表表示,其中每个对象包含特定于列的信息。

DataGrid 组件提供以下功能:

DataGrid 组件由子组件构成,其中包括 ScrollBar、HeaderRenderer、CellRenderer、DataGridCellEditor 和 ColumnDivider 组件,所有这些子组件的外观均可在创作过程中或运行时设置。

DataGrid 组件使用以下可在 dataGridClasses 包中找到的类:

查看示例

另请参见

DataGridCellEditor
DataGridColumn
HeaderRenderer
CellRenderer
DataGridEvent



公共 属性
 属性定义方
 InheritedaccessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。
DisplayObject
 InheritedallowMultipleSelection : Boolean
获取一个布尔值,指示能否一次选择多个列表项目。
SelectableList
 Inheritedalpha : Number
指示指定对象的 Alpha 透明度值。
DisplayObject
 InheritedblendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。
DisplayObject
 InheritedbuttonMode : Boolean
指定此 sprite 的按钮模式。
Sprite
 InheritedcacheAsBitmap : Boolean
如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。
DisplayObject
  columns : Array
获取或设置一个 DataGridColumn 对象数组,每个可以显示的列为一个对象。
DataGrid
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 InheritedcontextMenu : ContextMenu
指定与此对象相关联的上下文菜单。
InteractiveObject
 InheriteddataProvider : DataProvider
获取或设置要查看的项目列表的数据模型。
SelectableList
 InheriteddoubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。
InteractiveObject
 InheriteddropTarget : DisplayObject
[read-only] 指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。
Sprite
  editable : Boolean = false
指示用户能否编辑数据提供者中的项目。
DataGrid
  editedItemPosition : Object
获取或设置正在编辑的数据提供者项目的项目渲染器的列索引和行索引。
DataGrid
  editedItemRenderer : ICellRenderer
[read-only] 获取对当前正在编辑的项目所属的 DataGrid 组件中项目渲染器的引用。
DataGrid
 Inheritedenabled : Boolean
获取或设置一个值,该值指示组件是否可以接受用户交互。
UIComponent
 Inheritedfilters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。
DisplayObject
 InheritedfocusEnabled : Boolean
获取或设置一个布尔值,该值指示组件是否可以在用户单击它后获得焦点。
UIComponent
 InheritedfocusManager : IFocusManager
获取或设置为此组件及其同级组件控制焦点的 FocusManager。
UIComponent
 InheritedfocusRect : Object
指定此对象是否显示焦点矩形。
InteractiveObject
 Inheritedgraphics : Graphics
[read-only] 指定属于此 sprite 的 Graphics 对象,在此 sprite 中可执行矢量绘画命令。
Sprite
  headerHeight : Number
获取或设置 DataGrid 标题的高度,以像素为单位。
DataGrid
 Inheritedheight : Number
获取或设置组件的高度,以像素为单位。
UIComponent
 InheritedhitArea : Sprite
指定一个 sprite 用作另一个 sprite 的点击区域。
Sprite
 InheritedhorizontalLineScrollSize : Number
获取或设置一个值,该值描述当单击滚动箭头时要在水平方向上滚动的内容量。
BaseScrollPane
 InheritedhorizontalPageScrollSize : Number
获取或设置按滚动条轨道时水平滚动条上滚动滑块要移动的像素数。
BaseScrollPane
 InheritedhorizontalScrollBar : ScrollBar
[read-only] 获取对水平滚动条的引用。
BaseScrollPane
  horizontalScrollPolicy : String
获取或设置一个布尔值,指示水平滚动条是否始终打开。
DataGrid
 InheritedhorizontalScrollPosition : Number
获取或设置一个值,该值描述滚动窗格中水平滚动条的水平位置(以像素为单位)。
BaseScrollPane
  imeMode : String
获取或设置输入法编辑器 (IME) 的模式。
DataGrid
  itemEditorInstance : Object
对项目编辑器的当前活动实例(如果有)的引用。
DataGrid
  labelFunction : Function
获取或设置一个函数,确定各个项目的哪些字段要用作标签文本。
DataGrid
 Inheritedlength : uint
[read-only] 获取数据提供者中的项目数。
SelectableList
 InheritedloaderInfo : LoaderInfo
[read-only] 返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。
DisplayObject
 Inheritedmask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。
DisplayObject
 InheritedmaxHorizontalScrollPosition : Number
获取或设置当 horizontalScrollPolicy 属性设置为 ScrollPolicy.ON 时,列表可以向右滚动的像素数。
SelectableList
 InheritedmaxVerticalScrollPosition : Number
[read-only] 获取当前内容的最大垂直滚动位置(以像素为单位)。
BaseScrollPane
  minColumnWidth : Number
获取或设置 DataGrid 列的最小宽度,以像素为单位。
DataGrid
 InheritedmouseChildren : Boolean
确定对象的子项是否支持鼠标。
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
指定此对象是否接收鼠标消息。
InteractiveObject
 InheritedmouseFocusEnabled : Boolean
获取或设置一个值,该值指示组件是否可以在用户单击它后获得焦点。
UIComponent
 InheritedmouseX : Number
[read-only] 指示鼠标位置的 x 坐标,以像素为单位。
DisplayObject
 InheritedmouseY : Number
[read-only] 指示鼠标位置的 y 坐标,以像素为单位。
DisplayObject
 Inheritedname : String
指示 DisplayObject 的实例名称。
DisplayObject
 InheritednumChildren : int
[read-only] 返回此对象的子项数目。
DisplayObjectContainer
 InheritedopaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] 指示包含此显示对象的 DisplayObjectContainer 对象。
DisplayObject
 Inheritedprototype : Object
[static] 对类或函数对象的原型对象的引用。
Object
  resizableColumns : Boolean = true
指示用户能否更改列的尺寸。
DataGrid
 Inheritedroot : DisplayObject
[read-only] 对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。
DisplayObject
 Inheritedrotation : Number
指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。
DisplayObject
  rowCount : uint
获取或设置在列表中至少部分可见的行的行数。
DataGrid
  rowHeight : Number
获取或设置 DataGrid 组件中每一行的高度(以像素为单位)。
DataGrid
 Inheritedscale9Grid : Rectangle
当前有效的缩放网格。
DisplayObject
 InheritedscaleX : Number
将组件的当前宽度与缩放系数相乘。
UIComponent
 InheritedscaleY : Number
将组件的当前高度与缩放系数相乘。
UIComponent
 InheritedscrollRect : Rectangle
显示对象的滚动矩形范围。
DisplayObject
 Inheritedselectable : Boolean
获取或设置一个布尔值,指示列表中的项目是否可选。
SelectableList
 InheritedselectedIndex : int
获取或设置单选列表中的选定项目的索引。
SelectableList
 InheritedselectedIndices : Array
获取或设置一个数组,其中包含从多选列表中选定的项目。
SelectableList
 InheritedselectedItem : Object
获取或设置从单选列表中选择的项目。
SelectableList
 InheritedselectedItems : Array
获取或设置一个数组,其中包含多选列表中的选定项目的对象。
SelectableList
  showHeaders : Boolean
获取或设置一个布尔值,该值指示 DataGrid 组件是否显示列标题。
DataGrid
  sortableColumns : Boolean = true
指示用户能否通过单击列标题单元格对数据提供者中的项目进行排序。
DataGrid
  sortDescending : Boolean
[read-only] 获取当用户单击列标题时列的排序顺序。
DataGrid
  sortIndex : int
[read-only] 获取要排序的列的索引。
DataGrid
 InheritedsoundTransform : SoundTransform
控制此 sprite 中的声音。
Sprite
 Inheritedstage : Stage
[read-only] 显示对象的舞台。
DisplayObject
 InheritedtabChildren : Boolean
确定对象的子项是否支持 Tab 键。
DisplayObjectContainer
 InheritedtabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。
InteractiveObject
 InheritedtabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。
InteractiveObject
 InheritedtextSnapshot : TextSnapshot
[read-only] 返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。
DisplayObjectContainer
 Inheritedtransform : Transform
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。
DisplayObject
 InheriteduseBitmapScrolling : Boolean
设置为 true 时,滚动内容的 cacheAsBitmap 属性设置为 true;设置为 false 时,该值会关闭。
BaseScrollPane
 InheriteduseHandCursor : Boolean
布尔值,指示当鼠标滑过其 buttonMode 属性设置为 true 的 sprite 时是否显示手指形(手形光标)。
Sprite
 Inheritedversion : String = "3.0.0.13"
组件的版本号。
UIComponent
 InheritedverticalLineScrollSize : Number
获取或设置一个值,该值描述当单击滚动箭头时要在垂直方向上滚动多少像素。
BaseScrollPane
 InheritedverticalPageScrollSize : Number
获取或设置按滚动条轨道时垂直滚动条上滚动滑块要移动的像素数。
BaseScrollPane
 InheritedverticalScrollBar : ScrollBar
[read-only] 获取对垂直滚动条的引用。
BaseScrollPane
 InheritedverticalScrollPolicy : String
获取或设置一个值,该值指示垂直滚动条的状态。
BaseScrollPane
 InheritedverticalScrollPosition : Number
获取或设置一个值,该值描述滚动窗格中垂直滚动条的垂直位置(以像素为单位)。
BaseScrollPane
 Inheritedvisible : Boolean
获取或设置一个值,该值指示当前组件实例是否可见。
UIComponent
 Inheritedwidth : Number
获取或设置组件的宽度(以像素为单位)。
UIComponent
 Inheritedx : Number
获取或设置 x 坐标,该坐标表示组件在其父容器内沿 x 轴的位置。
UIComponent
 Inheritedy : Number
获取或设置 y 坐标,该坐标表示组件在其父容器内沿 y 轴的位置。
UIComponent
公共 方法
 方法定义方
  
创建新的 DataGrid 组件实例。
DataGrid
 Inherited
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。
DisplayObjectContainer
 Inherited
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。
DisplayObjectContainer
  
在 columns 数组的末尾添加列。
DataGrid
  
addColumnAt(column:*, index:uint):DataGridColumn
在 column 数组中的指定索引处插入列。
DataGrid
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
向项目列表的末尾追加项目。
SelectableList
 Inherited
addItemAt(item:Object, index:uint):void
在指定索引位置处将项目插入列表。
SelectableList
 Inherited
指示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。
DisplayObjectContainer
 Inherited
clearRendererStyle(name:String, column:int = -1):void
清除列表中渲染器上所设置的样式。
SelectableList
 Inherited
清除列表中当前所选的项目,并将 selectedIndex 属性设置为 -1。
SelectableList
 Inherited
删除此组件实例中的样式属性。
UIComponent
 Inherited
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。
DisplayObjectContainer
  
createItemEditor(colIndex:uint, rowIndex:uint):void
使用 itemEditor 属性指定的编辑器为位于 editedItemPosition 属性标识的列索引和行索引处的项目渲染器创建项目编辑器。
DataGrid
  
关闭当前在项目渲染器上打开的项目编辑器。
DataGrid
 Inherited
将事件调度到事件流中。
EventDispatcher
 Inherited
在此组件上显示或隐藏焦点指示符。
UIComponent
 Inherited
启动立即绘制操作,但不像 invalidateNow 那样使全部设置失效。
UIComponent
  
editField(index:uint, dataField:String, data:Object):void
编辑 DataGrid 组件中的给定字段或属性。
DataGrid
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。
DisplayObject
  
获取 DataGrid 中指定位置的单元格渲染器的实例。
DataGrid
 Inherited
返回位于指定索引处的子显示对象实例。
DisplayObjectContainer
 Inherited
返回具有指定名称的子显示对象。
DisplayObjectContainer
 Inherited
返回 DisplayObject 的 child 实例的索引位置。
DisplayObjectContainer
  
检索位于 columns 数组中指定索引处的列。
DataGrid
  
检索 DataGrid 组件中的列数。
DataGrid
  
检索具有指定名称的列的索引;如果未找到匹配项,则为 -1。
DataGrid
 Inherited
检索当前具有焦点的对象。
UIComponent
 Inherited
检索指定索引处的项目。
SelectableList
 Inherited
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。
DisplayObject
 Inherited
getRendererStyle(name:String, column:int = -1):Object
检索列表中渲染器上所设置的样式。
SelectableList
 Inherited
检索组件的样式查找链中设置的样式属性。
UIComponent
  
[static] 检索当前组件的默认样式映射。
DataGrid
 Inherited
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。
DisplayObject
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。
DisplayObject
 Inherited
invalidate(property:String, callLater:Boolean = true):void
在未另外指定的情况下,将属性标记为无效,并在下一帧上重绘组件。
UIComponent
 Inherited
使特定项目渲染器失效。
SelectableList
 Inherited
使位于指定索引处的项目的渲染器失效。
SelectableList
 Inherited
使整个列表失效,强制重绘列表项目。
SelectableList
 Inherited
检查列表中的指定项目是否处于选中状态。
SelectableList
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
DataGrid 组件对任何给定项都有多个单元格,因此 itemToCellRenderer 方法始终返回 null。
DataGrid
 Inherited
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。
DisplayObject
 Inherited
[static] 将多个类的样式合并到一个对象中。
UIComponent
 Inherited
将组件移动到其父项内的指定位置。
UIComponent
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
删除列表中的所有项目。
SelectableList
  
删除 DataGrid 组件中的所有列。
DataGrid
 Inherited
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。
DisplayObjectContainer
 Inherited
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。
DisplayObjectContainer
  
删除位于 columns 数组中指定索引处的列。
DataGrid
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
从列表中删除指定项目。
SelectableList
 Inherited
删除指定索引位置处的项目。
SelectableList
 Inherited
用其它项目替换指定索引位置处的项目。
SelectableList
  
scrollToIndex(newCaretIndex:int):void
将列表滚动至位于指定索引处的项目。
DataGrid
 Inherited
将列表滚动至由 selectedIndex 属性的当前值指示的位置处的项目。
SelectableList
 Inherited
更改现有子项在显示对象容器中的位置。
DisplayObjectContainer
 Inherited
设置此组件的焦点。
UIComponent
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
setRendererStyle(name:String, style:Object, column:uint = 0):void
设置列表中渲染器上的样式。
SelectableList
 Inherited
setSize(width:Number, height:Number):void
将组件设置为指定宽度和高度。
UIComponent
 Inherited
setStyle(style:String, value:Object):void
对此组件实例设置样式属性。
UIComponent
 Inherited
sortItems(... sortArgs):*
对当前数据提供者的元素进行排序。
SelectableList
 Inherited
sortItemsOn(field:String, options:Object = null):*
以当前数据提供者的一个或多个字段为依据对其元素进行排序。
SelectableList
  
将可见列的宽度重置为相同大小。
DataGrid
 Inherited
startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
允许用户拖动指定的 Sprite。
Sprite
 Inherited
结束 startDrag() 方法。
Sprite
 Inherited
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。
DisplayObjectContainer
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
验证并更新此对象的属性和布局,如果需要的话重绘对象。
UIComponent
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件摘要定义方
 Inherited Flash Player 获得操作系统焦点并变为活动状态时调度。EventDispatcher
 Inherited 将显示对象添加到显示列表中时调度。DisplayObject
 Inherited 在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。DisplayObject
 Inherited 当在列表中选择了另一项目后调度。SelectableList
 Inherited 用户在同一 InteractiveObject 上按下并释放用户指针设备的主按钮时调度。InteractiveObject
   当用户在水平方向扩展列后调度。DataGrid
 Inherited Flash Player 失去操作系统焦点并变为非活动状态时调度。EventDispatcher
 Inherited 如果 InteractiveObject 的 doubleClickEnabled 标志设置为 true,当用户在该对象上快速连续按下两次并释放指针设备的主按钮时调度。InteractiveObject
 Inherited 播放头进入新帧时调度。DisplayObject
 Inherited 显示对象获得焦点后调度。InteractiveObject
 Inherited 显示对象失去焦点后调度。InteractiveObject
   当用户单击标题单元格后调度。DataGrid
 Inherited 在组件可见性从可见改为不可见以后调度。UIComponent
 Inherited 当用户单击组件中的项目时调度。SelectableList
 Inherited 当用户快速连续单击两次组件中的项目时调度。SelectableList
   当 editedItemPosition 属性已设置且项目可编辑后调度。DataGrid
   当用户准备好编辑项目(例如,在项目上释放鼠标按键)后调度。DataGrid
   当项目编辑会话因任何原因而结束时调度。DataGrid
   当项目获得焦点后调度。DataGrid
   当项目失去焦点后调度。DataGrid
 Inherited 当用户将指针滑离组件中的项目时调度。SelectableList
 Inherited 当用户将指针滑过组件中的项目时调度。SelectableList
 Inherited 用户按下某个键时调度。InteractiveObject
 Inherited 用户尝试使用键盘导航更改焦点时调度。InteractiveObject
 Inherited 用户释放某个键时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,用户在 InteractiveObject 实例上按下指针设备按钮时调度。InteractiveObject
 Inherited 用户尝试使用指针设备更改焦点时调度。InteractiveObject
 Inherited 用户移动 InteractiveObject 上的指针设备时调度。InteractiveObject
 Inherited 用户将指针设备从 InteractiveObject 实例上移开时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,用户将指针设备移动到 InteractiveObject 实例上时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,用户在 InteractiveObject 实例上释放指针设备按钮时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,鼠标滚轮滚动到 InteractiveObject 实例上时调度。InteractiveObject
 Inherited 在移动组件以后调度。UIComponent
 Inherited 将要从显示列表中删除显示对象时调度。DisplayObject
 Inherited 在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。DisplayObject
 Inherited 将要更新和呈现显示列表时调度。DisplayObject
 Inherited 在调整组件大小以后调度。UIComponent
 Inherited 当用户将指针滑离组件时调度。SelectableList
 Inherited 当用户将指针滑过组件时调度。SelectableList
 Inherited 当用户水平或垂直滚动时调度。SelectableList
 Inherited 在组件可见性从不可见改为可见以后调度。UIComponent
 Inherited 对象的 tabChildren 标志值发生更改时调度。InteractiveObject
 Inherited 对象的 tabEnabled 标志发生更改时调度。InteractiveObject
 Inherited 对象的 tabIndex 属性值发生更改时调度。InteractiveObject
样式
 样式说明定义方
 Inherited 类型: Class
为组件中的每个项目提供单元格渲染器的类。 默认值为 fl.contols.listClasses.CellRenderer.
SelectableList
  
columnDividerSkin
类型: Class
类的名称,该类提供显示在两列之间的分隔符。 默认值为 DataGrid_columnDividerSkin.
DataGrid
  
columnStretchCursorSkin
类型: Class
类的名称,该类提供在鼠标介于两个列标题之间且 resizableColumns 属性设置为 true 时使用的光标。 默认值为 DataGrid_columnStretchCursorSkin.
DataGrid
 Inherited 类型: Number   格式: Length
用于分隔列表边框和列表内容的填充(以像素为单位)。 默认值为 null.
SelectableList
 Inherited 类型: Number
当 enabled 属性为 false 时将列表设置为的 Alpha 值。 默认值为 null.
SelectableList
 Inherited 类型: flash.text.TextFormat
用于在禁用了按钮的情况下呈现组件标签的 TextFormat 对象。 默认值为 TextFormat("_sans", 11, 0x999999, false, false, false, '', '', TextFormatAlign.LEFT, 0, 0, 0, 0).
UIComponent
 Inherited 类型: Class
类的名称,该类用作当禁用了滚动条时滚动条的向下箭头按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowDown_disabledSkin.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作当单击滚动条的向下箭头按钮时该按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowDown_downSkin.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作当鼠标指针在滚动条的向下箭头按钮上方时该按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowDown_overSkin.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作滚动条的向下箭头按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowDown_upSkin.
BaseScrollPane
 Inherited 类型: Number   格式: Length
用于分隔组件的外边框和焦点指示符的外边框的填充(以像素为单位)。 默认值为 2.
UIComponent
 Inherited 类型: Class
用于显示焦点指示符的外观。 默认值为 focusRectSkin.
UIComponent
  
headerDisabledSkin
类型: Class
类的名称,该类提供当禁用组件时每个列标题的背景。 默认值为 HeaderRenderer_disabledSkin.
DataGrid
  
headerDisabledTextFormat
类型: flash.text.TextFormat
当禁用组件时应用于每个列标题中包含的文本的格式。 默认值为 null.
DataGrid
  
headerDownSkin
类型: Class
类的名称,该类提供每个列标题的背景(当按下鼠标按键时显示的背景)。 默认值为 HeaderRenderer_downSkin.
DataGrid
  
headerOverSkin
类型: Class
类的名称,该类提供每个列标题的背景(当鼠标光标位于列标题上方时显示的背景)。 默认值为 HeaderRenderer_overSkin.
DataGrid
  
headerRenderer
类型: Class
提供每个列标题的类的名称。 默认值为 fl.controls.dataGridClasses.HeaderRenderer.
DataGrid
  
headerSortArrowAscSkin
类型: Class
类的名称,该类提供当列按升序排序时显示的排序箭头。 默认值为 HeaderSortArrow_ascIcon.
DataGrid
  
headerSortArrowDescSkin
类型: Class
类的名称,该类提供当列按降序排序时显示的排序箭头。 默认值为 HeaderSortArrow_descIcon.
DataGrid
  
headerTextFormat
类型: flash.text.TextFormat
应用于每个列标题中包含的文本的格式。 默认值为 null.
DataGrid
  
headerTextPadding
类型: Number   格式: Length
用于分隔列标题边框和列标题文本的填充(以像素为单位)。 默认值为 5.
DataGrid
  
headerUpSkin
类型: Class
类的名称,该类提供每个列标题的背景。 默认值为 HeaderRenderer_upSkin.
DataGrid
 Inherited 类型: Number   格式: Time
在第一次调度 buttonDown 事件之后、发送第二个 buttonDown 事件之前等待的毫秒数。. 默认值为 500.
BaseScrollPane
 Inherited 类型: Number   格式: Time
在由 repeatDelay 样式指定的延迟之后调度的 buttonDown 事件之间的间隔(以毫秒为单位)。. 默认值为 35.
BaseScrollPane
 Inherited 类型: Class
提供组件背景的外观的类。 默认值为 List_skin.
SelectableList
 Inherited 类型: flash.text.TextFormat
用于呈现组件标签的 TextFormat 对象。 默认值为 TextFormat("_sans", 11, 0x000000, false, false, false, '', '', TextFormatAlign.LEFT, 0, 0, 0, 0).
UIComponent
 Inherited 类型: Class
用于指示缩略图的禁用状态的外观。. 默认值为 ScrollThumb_upSkin.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作当单击滚动条的缩略图时该缩略图的外观。. 默认值为 ScrollThumb_downSkin.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作滚动条的缩略图的图标。. 默认值为 ScrollBar_thumbIcon.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作当鼠标指针在滚动条的缩略图上方时该缩略图的外观。. 默认值为 ScrollThumb_overSkin.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作滚动条的缩略图的外观。. 默认值为 ScrollThumb_upSkin.
BaseScrollPane
 Inherited 类型: Class
用于指示被禁用轨道的外观。. 默认值为 ScrollTrack_Skin.
BaseScrollPane
 Inherited 类型: Class
用于指示被禁用外观的按下状态的外观。. 默认值为 ScrollTrack_Skin.
BaseScrollPane
 Inherited 类型: Class
用于指示滚动轨道的鼠标悬停状态的外观。. 默认值为 ScrollTrack_Skin.
BaseScrollPane
 Inherited 类型: Class
用于指示滚动轨道的鼠标松开状态的外观。. 默认值为 ScrollTrack_Skin.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作当禁用了滚动条时滚动条的向上箭头按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowUp_disabledSkin.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作当单击滚动条的向上箭头按钮时该按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowUp_downSkin.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作当鼠标指针在滚动条的向上箭头按钮上方时该按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowUp_overSkin.
BaseScrollPane
 Inherited 类型: Class
类的名称,该类用作滚动条的向上箭头按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowUp_upSkin.
BaseScrollPane
属性详细信息
columns属性
columns:Array  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置一个 DataGridColumn 对象数组,每个可以显示的列为一个对象。 如果未显式设置,DataGrid 组件将检查数据提供者中的第一个项目,查找该项目的属性,然后按字母顺序显示这些属性。

您可以更改列及其在此 DataGridColumn 数组中的顺序。 但是,执行了更改之后,必须将已更改的数组显式赋值给 columns 属性。 如果未进行显示赋值,则将继续使用之前所使用的列的集合。

默认值为 [].


实现
    public function get columns():Array
    public function set columns(value:Array):void

示例
如何使用示例

下例使用 columns 数组向数据网格添加新列:

import fl.controls.DataGrid;
import fl.controls.ScrollPolicy;
import fl.data.DataProvider;

var i:uint;
var totalRows:uint = 16;
var dp:DataProvider = new DataProvider();
for (i = 0; i < totalRows; i++) {
    dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber()});
}

var dg:DataGrid = new DataGrid();
dg.setSize(200, 300);
dg.columns = ["col1", "col2", "col3"];
dg.dataProvider = dp;
addChild(dg);

function getRandomNumber():uint {
    return Math.round(Math.random() * 100);
}

下例填充一个新的 DataGrid,并同时使用 columns 数组和 getColumnCount() 方法返回列数:

import fl.controls.DataGrid;
import fl.controls.ScrollPolicy;
import fl.data.DataProvider;

var i:uint;
var totalRows:uint = 16;
var dp:DataProvider = new DataProvider();
for (i = 0; i < totalRows; i++) {
    dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber()});
}

var dg:DataGrid = new DataGrid();
dg.setSize(200, 300);
dg.columns = ["col1", "col2", "col3"];
dg.dataProvider = dp;
addChild(dg);

trace("columns.length:", dg.columns.length); // 3
trace("getColumnCount():", dg.getColumnCount()); // 3

function getRandomNumber():uint {
    return Math.round(Math.random() * 100);
}
editable属性 
public var editable:Boolean = false

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

指示用户能否编辑数据提供者中的项目。 true 值指示用户可以编辑数据提供者中的项目;false 值指示用户不能编辑数据提供者中的项目。

如果该值为 true,则组件中的项目渲染器是可编辑的。 用户单击项目渲染器将可以打开一个编辑器。

可以关闭对 DataGrid 组件单个列的编辑功能,方法是使用 DataGridColumn.editable 属性或处理 itemEditBeginningitemEditBegin 事件。

默认值为 false.

另请参见

editedItemPosition属性 
editedItemPosition:Object  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置正在编辑的数据提供者项目的项目渲染器的列索引和行索引。 如果未编辑任何项目,则此属性为 null

此对象有两个字段:

例如:{ columnIndex:2, rowIndex:3 }

设置此属性可以在视图中滚动项目,并会调度 itemEditBegin 事件以打开指定项目渲染器上的项目编辑器。

默认值为 null.


实现
    public function get editedItemPosition():Object
    public function set editedItemPosition(value:Object):void

另请参见


示例
如何使用示例

下例提供输入字段,用户可以通过这些字段指定要在数据网络中编辑的行和列。 若要 DataGrid、Button、Label、TextInput 组件正常工作,这些组件必须位于为此示例发布的 FLA 文件的库中:
import fl.data.DataProvider;
import fl.controls.*;

var dp:DataProvider = new DataProvider();
var totalEntries:uint = 42;
var i:uint;
for(i=0; i<totalEntries; i++) {
    dp.addItem( {     col1:"CellName",
                    col2:"CellName",
                    col3:"CellName" } );            
}

var dg:DataGrid = new DataGrid();
dg.columns = [ "col1", "col2", "col3" ];
dg.editable = true;
dg.dataProvider = dp;
dg.move(200,10);
dg.setSize(200,300);
addChild(dg);

var rowIntro:Label = new Label();
rowIntro.text = "Row to edit:";
rowIntro.move(10,10);

var colIntro:Label = new Label();
colIntro.text = "Column to edit:";
colIntro.move(10,30);

var rowInputField:TextInput = new TextInput();
rowInputField.move(100,10);
rowInputField.setSize(30,20);

var colInputField:TextInput = new TextInput();
colInputField.move(100,30);
colInputField.setSize(30,20);

var editButton:Button = new Button();
editButton.move(10,60);
editButton.label = "Edit";
editButton.addEventListener(MouseEvent.CLICK,editGrid);

addChild(rowIntro);
addChild(colIntro);
addChild(rowInputField);
addChild(colInputField);
addChild(editButton);

function editGrid(e:MouseEvent):void {
    dg.editedItemPosition = { rowIndex:Number(rowInputField.text), columnIndex:Number(colInputField.text) };
}
editedItemRenderer属性 
editedItemRenderer:ICellRenderer  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取对当前正在编辑的项目所属的 DataGrid 组件中项目渲染器的引用。 如果未编辑任何项目,则此属性包含 null 值。

您可以从 itemEditBegin 事件或 itemEditEnd 事件的事件侦听器使用 editedItemRenderer.data 属性获取所编辑项目的当前值。

这是一个只读属性。 若要设置自定义项目编辑器,请使用表示相关列的类的 itemEditor 属性。


实现
    public function get editedItemRenderer():ICellRenderer

另请参见


示例
如何使用示例

下例提供输入字段,用户可以通过这些字段指定要在数据网络中编辑的行和列。 若要 DataGrid、Button、Label、TextInput 组件正常工作,这些组件必须位于为此示例发布的 FLA 文件的库中:
import fl.data.DataProvider;
import fl.controls.*;

var dp:DataProvider = new DataProvider();
var totalEntries:uint = 42;
var i:uint;
for(i=0; i<totalEntries; i++) {
    dp.addItem( {     col1:"CellName",
                    col2:"CellName",
                    col3:"CellName" } );            
}

var dg:DataGrid = new DataGrid();
dg.columns = [ "col1", "col2", "col3" ];
dg.editable = true;
dg.dataProvider = dp;
dg.move(200,10);
dg.setSize(200,300);
addChild(dg);

var rowIntro:Label = new Label();
rowIntro.text = "Row to edit:";
rowIntro.move(10,10);

var colIntro:Label = new Label();
colIntro.text = "Column to edit:";
colIntro.move(10,30);

var rowInputField:TextInput = new TextInput();
rowInputField.move(100,10);
rowInputField.setSize(30,20);

var colInputField:TextInput = new TextInput();
colInputField.move(100,30);
colInputField.setSize(30,20);

var editButton:Button = new Button();
editButton.move(10,60);
editButton.label = "Edit";
editButton.addEventListener(MouseEvent.CLICK,editGrid);

addChild(rowIntro);
addChild(colIntro);
addChild(rowInputField);
addChild(colInputField);
addChild(editButton);

function editGrid(e:MouseEvent):void {
    dg.editedItemPosition = { rowIndex:Number(rowInputField.text), columnIndex:Number(colInputField.text) };
}
headerHeight属性 
headerHeight:Number  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置 DataGrid 标题的高度,以像素为单位。

默认值为 25.


实现
    public function get headerHeight():Number
    public function set headerHeight(value:Number):void

另请参见


示例
如何使用示例

下例使用滑块更改 DataGrid 组件实例的 headerHeight 属性:

import fl.controls.DataGrid;
import fl.controls.Slider;
import fl.events.SliderEvent;

var headerHeightSlider:Slider = new Slider();
headerHeightSlider.minimum = 20;
headerHeightSlider.maximum = 40;
headerHeightSlider.snapInterval = 2;
headerHeightSlider.tickInterval = 4;
headerHeightSlider.liveDragging = true;
headerHeightSlider.move(10, 10);
headerHeightSlider.addEventListener(SliderEvent.CHANGE, changeHandler);
addChild(headerHeightSlider);

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.headerHeight = headerHeightSlider.value;
myDataGrid.addColumn("name");
myDataGrid.addColumn("value");
myDataGrid.addItem({name:"Person A", value:0.85});
myDataGrid.addItem({name:"Person B", value:0.87});
myDataGrid.width = 200;
myDataGrid.rowCount = myDataGrid.length;
myDataGrid.move(10, 30);
addChild(myDataGrid);

function changeHandler(event:SliderEvent):void {
    myDataGrid.headerHeight = event.value;
    myDataGrid.rowCount = myDataGrid.length;
}
horizontalScrollPolicy属性 
horizontalScrollPolicy:String  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置一个布尔值,指示水平滚动条是否始终打开。 下表描述了有效值:

注意:如果 DataGrid 组件中可见列的总宽度小于 DataGrid 组件的可用宽度,则可能无法通过伸展列来占满 DataGrid 组件的可用空间,这取决于 horizontalScrollPolicy 属性值。 下表描述了这些值及其效果:

默认值为 ScrollPolicy.OFF.


实现
    public function get horizontalScrollPolicy():String
    public function set horizontalScrollPolicy(value:String):void

另请参见


示例
如何使用示例

下例创建一个数据网格,以使用水平滚动条为其单元格提供更多空间:

import fl.controls.DataGrid;
import fl.controls.ScrollPolicy;
import fl.data.DataProvider;

var i:uint;
var totalRows:uint = 42;
var dp:DataProvider = new DataProvider();
for (i = 0; i < totalRows; i++) {
    dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber(), col5:getRandomNumber(), col6:getRandomNumber(), col7:getRandomNumber()});
}

var dg:DataGrid = new DataGrid();
dg.setSize(200,300);
dg.addColumn("col1");
dg.addColumn("col2");
dg.addColumn("col3");
dg.addColumn("col4");
dg.addColumn("col5");
dg.addColumn("col6");
dg.addColumn("col7");
dg.dataProvider = dp;
dg.horizontalScrollPolicy = ScrollPolicy.ON;
addChild(dg);

function getRandomNumber():uint {
    return Math.round(Math.random() * 100);
}
imeMode属性 
imeMode:String  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置输入法编辑器 (IME) 的模式。 IME 使用户能够使用 QWERTY 键盘从中文、日文和韩文字符集输入字符。

Flash 在组件获得焦点时将 IME 设置为指定模式,并在组件失去焦点后还原为初始值。

flash.system.IMEConversionMode 类定义此属性的有效值的常量。 将此属性设置为 null 阻止对组件使用 IME。


实现
    public function get imeMode():String
    public function set imeMode(value:String):void

另请参见

itemEditorInstance属性 
public var itemEditorInstance:Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

对项目编辑器的当前活动实例(如果有)的引用。

若要在编辑项目时访问项目编辑器实例和新项目值,请使用 itemEditorInstance 属性。 只有在执行 itemEditBegin 事件的事件侦听器之后,itemEditorInstance 属性才有效。 因此,通常从 itemEditEnd 事件的事件侦听器访问 itemEditorInstance 属性。

DataGridColumn.itemEditor 属性定义项目编辑器的类,从而定义项目编辑器实例的数据类型。

另请参见


示例
如何使用示例

下例访问数据网格的 itemEditorInstance 属性以确定单元格编辑完之后的文本:
import fl.data.DataProvider;
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridCellEditor;
import fl.controls.listClasses.ListData;
import fl.events.DataGridEvent;

var dp:DataProvider = new DataProvider();
var totalEntries:uint = 42;
var i:uint;
for(i=0; i<totalEntries; i++) {
    dp.addItem( {     col1:"CellName",
                    col2:"CellName",
                    col3:"CellName" } );            
}

var dg:DataGrid = new DataGrid();
dg.addEventListener(DataGridEvent.ITEM_EDIT_END,onItemEditEnd);
dg.dataProvider = dp;
dg.editable = true;
dg.setSize(300,200);
addChild(dg);

function onItemEditEnd(e:DataGridEvent):void {
    var cellEditor:DataGridCellEditor = dg.itemEditorInstance as DataGridCellEditor;
    var listData:ListData = cellEditor.listData;
    trace("After Edit: " + cellEditor.text);
}
labelFunction属性 
labelFunction:Function  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置一个函数,确定各个项目的哪些字段要用作标签文本。

默认值为 null.


实现
    public function get labelFunction():Function
    public function set labelFunction(value:Function):void

示例
如何使用示例

下例对数据网格中的每一列使用标签函数:

import fl.controls.DataGrid;
import fl.controls.ScrollPolicy;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var i:uint;
var totalRows:uint = 16;
var dp:DataProvider = new DataProvider();
for (i = 0; i < totalRows; i++) {
    dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber()});
}

var c1:DataGridColumn = new DataGridColumn("col1");
c1.sortOptions = Array.NUMERIC;
var c2:DataGridColumn = new DataGridColumn("col2");
c2.sortOptions = Array.NUMERIC;
var c3:DataGridColumn = new DataGridColumn("col3");
c3.sortOptions = Array.NUMERIC;

var dg:DataGrid = new DataGrid();
dg.addColumn(c1);
dg.addColumn(c2);
dg.addColumn(c3);
dg.dataProvider = dp;
dg.labelFunction = currencyFormatter;
dg.move(10, 10);
dg.setSize(200, 300);
addChild(dg);

function getRandomNumber():Number {
    return Math.random() * 100;
}

function currencyFormatter(data:Object, column:DataGridColumn):String {
    return "$" + data[column.dataField].toFixed(2);
}
minColumnWidth属性 
minColumnWidth:Number  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置 DataGrid 列的最小宽度,以像素为单位。 如果该值设置为 NaN,则可以分别为 DataGrid 组件的每一列设置最小列宽。

默认值为 NaN.


实现
    public function get minColumnWidth():Number
    public function set minColumnWidth(value:Number):void

示例
如何使用示例

下例启用数据网格的水平滚动功能,并将最小列宽设置为 185,足以容纳示例字符串的宽度:
import fl.controls.DataGrid;
import fl.controls.ScrollPolicy;
import fl.data.DataProvider;

var i:uint;
var totalRows:uint = 42;
var dp:DataProvider = new DataProvider();
for (i = 0; i < totalRows; i++) {
    dp.addItem({col1:getString(), col2:getString(), col3:getString(), col4:getString(), col5:getString(), col6:getString(), col7:getString()});
}

var dg:DataGrid = new DataGrid();
dg.setSize(450,300);
dg.addColumn("col1");
dg.addColumn("col2");
dg.addColumn("col3");
dg.addColumn("col4");
dg.addColumn("col5");
dg.addColumn("col6");
dg.addColumn("col7");
dg.dataProvider = dp;
dg.horizontalScrollPolicy = ScrollPolicy.ON;
dg.minColumnWidth = 185;
addChild(dg);

function getString():String {
    return "This string requires a wide column";
}
resizableColumns属性 
public var resizableColumns:Boolean = true

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

指示用户能否更改列的尺寸。 true 值指示用户可以更改列的尺寸;false 值指示列的尺寸是固定的。

如果该值为 true,则用户可以通过在标题单元格之间拖动网格线来伸展或缩短 DataGrid 组件的列。 此外,如果该值为 true,则用户还可以更改列的大小,除非有个别列的 resizeable 属性被设置为 false

默认值为 true.

另请参见

rowCount属性 
rowCount:uint  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置在列表中至少部分可见的行的行数。


实现
    public function get rowCount():uint
    public function set rowCount(value:uint):void

另请参见


示例
如何使用示例

下例创建一个 DataGrid 组件实例,并使用 rowCount 属性调整数据网格的大小:

import fl.controls.DataGrid;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({col1:"item 1.A", col2:"item 1.B", col3:"item 1.C"});
dp.addItem({col1:"item 2.A", col2:"item 2.B", col3:"item 2.C"});
dp.addItem({col1:"item 3.A", col2:"item 3.B", col3:"item 3.C"});
dp.addItem({col1:"item 4.A", col2:"item 4.B", col3:"item 4.C"});

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn("col1");
myDataGrid.addColumn("col2");
myDataGrid.addColumn("col3");
myDataGrid.dataProvider = dp;
myDataGrid.move(10, 10);
myDataGrid.setSize(300, 200);
addChild(myDataGrid);

var fixedHeight:uint = Math.min(myDataGrid.rowCount, myDataGrid.length);
myDataGrid.rowCount = fixedHeight;

trace(myDataGrid.width, myDataGrid.height); // 300 105
rowHeight属性 
rowHeight:Number  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置 DataGrid 组件中每一行的高度(以像素为单位)。

默认值为 20.


实现
    public function get rowHeight():Number
    public function set rowHeight(value:Number):void

另请参见


示例
如何使用示例

下例调整数据网格中各行的高度,并减小舞台上所有组件的文本大小:
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.managers.StyleManager;

var dp:DataProvider = new DataProvider();
var totalEntries:uint = 42;
var i:uint;
for(i = 0; i < totalEntries; i++) {
    dp.addItem( { col1:Math.random(), col2:Math.random(), col3:Math.random() } );           
}

var smallText:TextFormat = new TextFormat();
smallText.size = 9;
smallText.font = "Verdana";

var dg:DataGrid = new DataGrid();
dg.columns = ["col1", "col2", "col3"];
dg.rowHeight = 14;
dg.move(10, 10);
dg.setSize(400, 300);
dg.dataProvider = dp;
dg.setStyle("textFormat", smallText);
addChild(dg);

StyleManager.setStyle("textFormat", smallText);
showHeaders属性 
showHeaders:Boolean  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置一个布尔值,该值指示 DataGrid 组件是否显示列标题。 true 值指示 DataGrid 组件显示列标题;false 值指示该组件不显示列标题。

默认值为 true.


实现
    public function get showHeaders():Boolean
    public function set showHeaders(value:Boolean):void

示例
如何使用示例

下例创建两个数据网格,一个有列标题,另一个没有:
import fl.controls.DataGrid;
import fl.controls.ScrollPolicy;
import fl.data.DataProvider;

var i:uint;
var totalRows:uint = 42;
var dp:DataProvider = new DataProvider();
for (i = 0; i < totalRows; i++) {
    dp.addItem({col1:Math.random(), col2:Math.random()});
}

var dg1:DataGrid = new DataGrid();
dg1.move(10,10);
dg1.setSize(200,300);
dg1.dataProvider = dp;
addChild(dg1);

var dg2:DataGrid = new DataGrid();
dg2.move(250,10);
dg2.setSize(200,300);
dg2.dataProvider = dp;
dg2.showHeaders = false;
addChild(dg2);
sortableColumns属性 
public var sortableColumns:Boolean = true

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

指示用户能否通过单击列标题单元格对数据提供者中的项目进行排序。 如果该值为 true,则用户可以通过单击列标题单元格对数据提供者项目进行排序;如果该值为 false,则用户不能通过单击列标题单元格对数据提供者项目进行排序。

如果该值为 true,为了防止单个列响应用户在标题单元格上单击鼠标的操作,请将该列的 sortable 属性设置为 false

列的排序字段为 DataGridColumn 组件的 dataFieldsortCompareFunction 属性。 如果用户在列上单击了不止一次,则排序操作将在升序和降序排序之间交替。

如果列的此属性以及 sortable 属性均设置为 true,则 DataGrid 组件将在用户从列标题单元格处释放鼠标按键后调度 headerRelease 事件。 如果未从 headerRelease 事件的处理函数方法调用 preventDefault() 方法,则 DataGrid 组件将根据 dataFieldsortCompareFunction 属性值执行排序。

默认值为 true.

另请参见


示例
如何使用示例

下例创建一个 DataGrid 组件实例,并将其 sortableColumns 属性设置为 false 以防止用户对列表进行排序:

import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.events.DataGridEvent;

var data:XML = <dataProvider>
        <data col1="Person A" col2="11.383" />
        <data col1="Person B" col2="3.399" />
        <data col1="Person C" col2="25.624" />
    </dataProvider>

var dp:DataProvider = new DataProvider(data);

var c1:DataGridColumn = new DataGridColumn("col1");
var c2:DataGridColumn = new DataGridColumn("col2");

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(c1);
myDataGrid.addColumn(c2);
myDataGrid.dataProvider = dp;
myDataGrid.move(10, 10);
myDataGrid.setSize(160, 120);
myDataGrid.sortableColumns = false;
addChild(myDataGrid);
sortDescending属性 
sortDescending:Boolean  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取当用户单击列标题时列的排序顺序。 true 值指示列按降序排序;false 值指示列按升序排序。

sortDescending 属性不影响 sort 方法完成排序操作的方式。 默认情况下,排序操作包括区分大小写的字符串排序。 若要更改此行为,请修改 DataGridColumn 类的 sortOptionssortCompareFunction 属性。

默认值为 false.


实现
    public function get sortDescending():Boolean

另请参见


示例
如何使用示例

下例创建一个 DataGrid 组件实例,侦听 headerRelease 并跟踪 sortDescendingsortIndexdataField 属性:

import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.events.DataGridEvent;

var dataXML:XML = <dataProvider>
        <data col1="Person A" col2="11.383" />
        <data col1="Person B" col2="3.399" />
        <data col1="Person C" col2="25.624" />
    </dataProvider>

var dp:DataProvider = new DataProvider(dataXML);

var c1:DataGridColumn = new DataGridColumn("col1");
var c2:DataGridColumn = new DataGridColumn("col2");
c2.sortOptions = Array.NUMERIC;

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(c1);
myDataGrid.addColumn(c2);
myDataGrid.dataProvider = dp;
myDataGrid.width = 160;
myDataGrid.rowCount = myDataGrid.length;
myDataGrid.move(10, 10);
myDataGrid.addEventListener(DataGridEvent.HEADER_RELEASE, headerReleaseHandler);
addChild(myDataGrid);

function headerReleaseHandler(event:DataGridEvent):void {
    var myDG:DataGrid = event.currentTarget as DataGrid;
    var whichColumn:DataGridColumn = myDG.getColumnAt(event.columnIndex);
    trace("sortDescending:", myDG.sortDescending);
    trace("sortIndex:", myDG.sortIndex);
    trace("dataField:", whichColumn.dataField);
    trace("");
}
sortIndex属性 
sortIndex:int  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取要排序的列的索引。

默认值为 -1.


实现
    public function get sortIndex():int

另请参见

构造函数详细信息
DataGrid()构造函数
public function DataGrid()

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

创建新的 DataGrid 组件实例。

方法详细信息
addColumn()方法
public function addColumn(column:*):DataGridColumn

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

columns 数组的末尾添加列。

参数

column:* — 一个字符串或 DataGridColumn 对象。

返回
DataGridColumn — 已添加的 DataGridColumn 对象。

另请参见


示例
如何使用示例

下例创建一个 DataGrid 组件实例,并通过将一个字符串传递给 addColumn() 方法来添加两个列:

import fl.controls.DataGrid;

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn("name");
myDataGrid.addColumn("value");
myDataGrid.addItem({name:"Name 1", value:"Value 1"});
myDataGrid.addItem({name:"Name 2", value:"Value 2"});
myDataGrid.addItem({name:"Name 3", value:"Value 3"});
myDataGrid.width = 200;
myDataGrid.rowCount = myDataGrid.length;
myDataGrid.move(10, 10);
addChild(myDataGrid);

下例创建一个 DataGrid 组件实例,并通过将一个 DataGridColumn 对象传递给 addColumn() 方法来添加两个列:

import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;

var nameCol:DataGridColumn = new DataGridColumn("name");
var valueCol:DataGridColumn = new DataGridColumn("value");

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(nameCol);
myDataGrid.addColumn(valueCol);
myDataGrid.addItem({name:"Name 1", value:"Value 1"});
myDataGrid.addItem({name:"Name 2", value:"Value 2"});
myDataGrid.addItem({name:"Name 3", value:"Value 3"});
myDataGrid.width = 200;
myDataGrid.rowCount = myDataGrid.length;
myDataGrid.move(10, 10);
addChild(myDataGrid);

下例在设置该组件的数据提供者之前手动添加该组件的列,并指定这些列的顺序和大小:
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem( { stateName:"California", stateAbbreviation:"CA" } );
dp.addItem( { stateName:"New York", stateAbbreviation:"NY" } );

var dg:DataGrid = new DataGrid();
var abbreviationColumn:DataGridColumn = dg.addColumn(new DataGridColumn("stateAbbreviation"));                                            
var nameColumn:DataGridColumn = dg.addColumn("stateName");
abbreviationColumn.width = 100;
nameColumn.width = 200;

dg.move(10,10);
dg.width = 300;
dg.rowCount = 2;
dg.dataProvider = dp;
addChild(dg);
addColumnAt()方法 
public function addColumnAt(column:*, index:uint):DataGridColumn

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

columns 数组中指定索引处插入列。

参数

column:* — 表示要插入的列的字符串或 DataGridColumn 对象。
 
index:uint — 标识列要插入的位置的数组索引。

返回
DataGridColumn — 已插入 columns 数组的 DataGridColumn 对象。

另请参见


示例
如何使用示例

下例在设置该组件的数据提供者之前手动添加该组件的列,并指定这些列的顺序和大小:
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem( { stateName:"California", stateAbbreviation:"CA" } );
dp.addItem( { stateName:"New York", stateAbbreviation:"NY" } );

var dg:DataGrid = new DataGrid();
var abbreviationColumn:DataGridColumn = dg.addColumn(new DataGridColumn("stateAbbreviation"));                                            
var nameColumn:DataGridColumn = dg.addColumn("stateName");
abbreviationColumn.width = 100;
nameColumn.width = 200;

dg.move(10,10);
dg.width = 300;
dg.rowCount = 2;
dg.dataProvider = dp;
addChild(dg);
createItemEditor()方法 
public function createItemEditor(colIndex:uint, rowIndex:uint):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

使用 itemEditor 属性指定的编辑器为位于 editedItemPosition 属性标识的列索引和行索引处的项目渲染器创建项目编辑器。

此方法将编辑器实例设置为 itemEditorInstance 属性。

可以从 itemEditBegin 事件的事件侦听器调用此方法。 若要从其它代码创建编辑器,请设置 editedItemPosition 属性以生成 itemEditBegin 事件。

参数

colIndex:uint — 要编辑项目的数据提供者中的列索引。
 
rowIndex:uint — 要编辑项目的数据提供者中的行索引。

destroyItemEditor()方法 
public function destroyItemEditor():void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

关闭当前在项目渲染器上打开的项目编辑器。 通常从 itemEditEnd 事件的事件侦听器调用此方法,并在这之前调用 preventDefault() 方法以阻止默认事件侦听器执行。

editField()方法 
public function editField(index:uint, dataField:String, data:Object):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

编辑 DataGrid 组件中的给定字段或属性。

参数

index:uint — 要编辑的数据提供者项目的索引。
 
dataField:String — 要编辑的数据提供者项目中的字段或属性的名称。
 
data:Object — 新数据值。


引发
RangeError — 指定的索引小于 0 或大于等于数据提供者的长度。
getCellRendererAt()方法 
public function getCellRendererAt(row:uint, column:uint):ICellRenderer

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取 DataGrid 中指定位置的单元格渲染器的实例。

注意:如果位置不可见(即滚出视图),则此方法返回 null

参数

row:uint — 行索引。
 
column:uint — 列索引。

返回
ICellRenderer — 位于指定位置的 ICellRenderer 对象;如果该位置没有单元格渲染器,则为 null
getColumnAt()方法 
public function getColumnAt(index:uint):DataGridColumn

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

检索位于 columns 数组中指定索引处的列。

参数

index:uint — 要检索的列的索引,或者 null(如果找不到列)。

返回
DataGridColumn — 在指定索引处找到的 DataGridColumn 对象。

另请参见

getColumnCount()方法 
public function getColumnCount():uint

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

检索 DataGrid 组件中的列数。

返回
uint — DataGrid 组件中包含的列数。

另请参见


示例
如何使用示例

下例填充一个新的 DataGrid,并同时使用 columns 数组和 getColumnCount() 方法返回列数:

import fl.controls.DataGrid;
import fl.controls.ScrollPolicy;
import fl.data.DataProvider;

var i:uint;
var totalRows:uint = 16;
var dp:DataProvider = new DataProvider();
for (i = 0; i < totalRows; i++) {
    dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber()});
}

var dg:DataGrid = new DataGrid();
dg.setSize(200, 300);
dg.columns = ["col1", "col2", "col3"];
dg.dataProvider = dp;
addChild(dg);

trace("columns.length:", dg.columns.length); // 3
trace("getColumnCount():", dg.getColumnCount()); // 3

function getRandomNumber():uint {
    return Math.round(Math.random() * 100);
}

下例创建一个 DataGrid,每当调度 columnStretch 事件时就输出每个数据网格列的宽度:

import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.events.DataGridEvent;

var nameCol:DataGridColumn = new DataGridColumn("name");
var valueCol:DataGridColumn = new DataGridColumn("value");

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(nameCol);
myDataGrid.addColumn(valueCol);
myDataGrid.addItem({name:"Name 1", value:"Value 1"});
myDataGrid.addItem({name:"Name 2", value:"Value 2"});
myDataGrid.addItem({name:"Name 3", value:"Value 3"});
myDataGrid.width = 200;
myDataGrid.rowCount = myDataGrid.length;
myDataGrid.move(10, 10);
myDataGrid.addEventListener(DataGridEvent.COLUMN_STRETCH, columnStretchHandler);
addChild(myDataGrid);

function columnStretchHandler(event:DataGridEvent):void {
    var col:DataGridColumn;
    for each (col in myDataGrid.columns) {
        trace(col.dataField + ":", col.width + "px")
    }
    trace("");
}
getColumnIndex()方法 
public function getColumnIndex(name:String):int

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

检索具有指定名称的列的索引;如果未找到匹配项,则为 -1。

参数

name:String — 要定位的列的数据字段。

返回
int — 找到的具有指定名称的列所处位置的索引。

另请参见

getStyleDefinition()方法 
public static function getStyleDefinition():Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

检索当前组件的默认样式映射。 样式映射包含适合组件的类型,具体取决于组件使用的样式。 例如,disabledTextFormat 样式包含 null 值或 TextFormat 对象。 可以使用这些样式并对当前组件调用 setStyle()。 下面的代码覆盖指定组件上默认的 disabledTextFormat 样式:
componentInstance.setStyle("disabledTextFormat", new TextFormat());

返回
Object — 默认样式对象。

另请参见


示例
如何使用示例

下例为多个组件类创建一个样式浏览器:
import fl.controls.*;
import fl.containers.*;
import fl.controls.listClasses.*;
import fl.controls.dataGridClasses.*;
import fl.controls.progressBarClasses.*;
import fl.core.UIComponent;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem( { label: "BaseScrollPane",    data:BaseScrollPane } );
dp.addItem( { label: "Button",             data:Button } );
dp.addItem( { label: "CellRenderer",    data:CellRenderer } );
dp.addItem( { label: "CheckBox",         data:CheckBox } );
dp.addItem( { label: "ColorPicker",     data:ColorPicker } );
dp.addItem( { label: "ComboBox",         data:ComboBox } );
dp.addItem( { label: "DataGrid",         data:DataGrid } );
dp.addItem( { label: "HeaderRenderer",    data:HeaderRenderer } );
dp.addItem( { label: "ImageCell",        data:ImageCell } );
dp.addItem( { label: "IndeterminateBar",data:IndeterminateBar } );
dp.addItem( { label: "Label",             data:Label } );
dp.addItem( { label: "List",             data:List } );
dp.addItem( { label: "NumericStepper",     data:NumericStepper } );
dp.addItem( { label: "ProgressBar",     data:ProgressBar } );
dp.addItem( { label: "RadioButton",     data:RadioButton } );
dp.addItem( { label: "ScrollPane",         data:ScrollPane } );
dp.addItem( { label: "Slider",             data:Slider } );
dp.addItem( { label: "TextArea",         data:TextArea } );
dp.addItem( { label: "TextInput",         data:TextInput } );
dp.addItem( { label: "TileList",         data:TileList } );
dp.addItem( { label: "UILoader",         data:UILoader } );
dp.addItem( { label: "UIComponent",     data:UIComponent } );

var cb:ComboBox = new ComboBox();
cb.move(10,10);
cb.setSize(300,25);
cb.prompt = "Select a component to view its styles";
cb.rowCount = 12;
cb.dataProvider = dp;
cb.addEventListener(Event.CHANGE, showStyleDefinition);
addChild(cb);

var dg:DataGrid = new DataGrid();
dg.setSize(425,300);
dg.move(10,50);
dg.columns = [ new DataGridColumn("StyleName"), new DataGridColumn("DefaultValue") ];
addChild(dg);

function showStyleDefinition(e:Event):void {
    var componentClass:Class = e.target.selectedItem.data as Class;
    var styles:Object = componentClass["getStyleDefinition"].call(this);
    trace(styles.toString());
    var styleData:DataProvider = new DataProvider();
    for(var i:* in styles) {
        trace(i + " : " + styles[i]);
        styleData.addItem( { StyleName:i, DefaultValue:styles[i] } );
    }
    styleData.sortOn("StyleName");
    dg.dataProvider = styleData;
}
itemToCellRenderer()方法 
public override function itemToCellRenderer(item:Object):ICellRenderer

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

DataGrid 组件对任何给定项都有多个单元格,因此 itemToCellRenderer 方法始终返回 null

参数

item:Object — 数据提供者中的项目。

返回
ICellRenderernull.
removeAllColumns()方法 
public function removeAllColumns():void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

删除 DataGrid 组件中的所有列。

另请参见

removeColumnAt()方法 
public function removeColumnAt(index:uint):DataGridColumn

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

删除位于 columns 数组中指定索引处的列。

参数

index:uint — 要删除的列的索引。

返回
DataGridColumn — 已删除的 DataGridColumn 对象。 如果在指定索引处未找到列,则此方法返回 null

另请参见

scrollToIndex()方法 
public override function scrollToIndex(newCaretIndex:int):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

将列表滚动至位于指定索引处的项目。 如果索引超出范围,则滚动位置不发生变化。

参数

newCaretIndex:int — 要滚动到的索引位置。

spaceColumnsEqually()方法 
public function spaceColumnsEqually():void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

将可见列的宽度重置为相同大小。

事件详细信息
columnStretch 事件
事件对象类型: fl.events.DataGridEvent
DataGridEvent.type property = fl.events.DataGridEvent.COLUMN_STRETCH

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当用户在水平方向扩展列后调度。

DataGridEvent.COLUMN_STRETCH 常量定义 columnStretch 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
columnIndexDataGrid 对象的 columns 数组中标题列的从零开始的索引。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
dataField与项目列关联的数据中的字段或属性的名称。
itemRenderer拉伸的列的标题渲染器。
reasonnull
rowIndex数据提供者中项目的索引(从零开始)。
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

示例
如何使用示例

下例创建 DataGrid 组件并侦听该组件的 columnStretch 事件:

import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.events.DataGridEvent;

var dp:DataProvider = new DataProvider();
dp.addItem({col1:"item 1.A", col2:"item 1.B", col3:"item 1.C"});
dp.addItem({col1:"item 2.A", col2:"item 2.B", col3:"item 2.C"});
dp.addItem({col1:"item 3.A", col2:"item 3.B", col3:"item 3.C"});
dp.addItem({col1:"item 4.A", col2:"item 4.B", col3:"item 4.C"});

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn("col1");
myDataGrid.addColumn("col2");
myDataGrid.addColumn("col3");
myDataGrid.dataProvider = dp;
myDataGrid.setSize(300, 200);
myDataGrid.move(10, 10);
myDataGrid.addEventListener(DataGridEvent.COLUMN_STRETCH, columnStretchHandler);
addChild(myDataGrid);

function columnStretchHandler(event:DataGridEvent):void {
    var dg:DataGrid = event.target as DataGrid;
    var column:DataGridColumn;
    var columnArray:Array = dg.columns;
    var dgColWidth:String;
    trace("resized column:", event.dataField);
    trace("columnIndex:", event.columnIndex);
    for each (column in columnArray) {
        dgColWidth = Number(column.width / dg.width * 100).toFixed(1);
        trace(column.dataField + ".width:", column.width + " pixels (" + dgColWidth + "%)");
    }
    trace("----------");
}
headerRelease 事件  
事件对象类型: fl.events.DataGridEvent
DataGridEvent.type property = fl.events.DataGridEvent.HEADER_RELEASE

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当用户单击标题单元格后调度。

DataGridEvent.HEADER_RELEASE 常量定义 headerRelease 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
columnIndexDataGrid 对象的 columns 数组中标题列的从零开始的索引。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
dataField与项目列关联的数据中的字段或属性的名称。
itemRenderer单击的标题渲染器。
reasonnull
rowIndex-1
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

示例
如何使用示例

下例创建 DataGrid 组件实例并侦听该组件实例的 headerRelease 事件:

import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.events.DataGridEvent;

var dp:DataProvider = new DataProvider();
dp.addItem({col1:"item 1.A", col2:"item 1.B", col3:"item 1.C"});
dp.addItem({col1:"item 2.A", col2:"item 2.B", col3:"item 2.C"});
dp.addItem({col1:"item 3.A", col2:"item 3.B", col3:"item 3.C"});
dp.addItem({col1:"item 4.A", col2:"item 4.B", col3:"item 4.C"});

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn("col1");
myDataGrid.addColumn("col2");
myDataGrid.addColumn("col3");
myDataGrid.dataProvider = dp;
myDataGrid.setSize(300, 200);
myDataGrid.move(10, 10);
myDataGrid.addEventListener(DataGridEvent.HEADER_RELEASE, headerReleaseHandler);
addChild(myDataGrid);

function headerReleaseHandler(event:DataGridEvent):void {
    var dg:DataGrid = event.target as DataGrid;
    trace("dataField:", event.dataField, "(columnIndex:" + event.columnIndex + ")");
    trace("sortIndex:", dg.sortIndex);
    trace("sortDescending:", dg.sortDescending);
    trace("----------");
}
itemEditBegin 事件  
事件对象类型: fl.events.DataGridEvent
DataGridEvent.type property = fl.events.DataGridEvent.ITEM_EDIT_BEGIN

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

editedItemPosition 属性已设置且项目可编辑后调度。

DataGridEvent.ITEM_EDIT_BEGIN 常数定义 itemEditBegin 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
columnIndexDataGrid 对象的 columns 数组中标题列的从零开始的索引。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
dataFieldnull
itemRenderer要编辑的项目的项目渲染器。
reasonnull
rowIndex数据提供者中项目的索引(从零开始)。
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

另请参见

itemEditBeginning 事件  
事件对象类型: fl.events.DataGridEvent
DataGridEvent.type property = fl.events.DataGridEvent.ITEM_EDIT_BEGINNING

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当用户准备好编辑项目(例如,在项目上释放鼠标按键)后调度。

DataGridEvent.ITEM__EDIT_BEGINNING 常数定义 itemEditBeginning 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
columnIndexDataGrid 对象的 columns 数组中标题列的从零开始的索引。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
dataField与项目列关联的数据中的字段或属性的名称。
itemRenderer要编辑的项目的项目渲染器。
reasonnull
rowIndex数据提供者中项目的索引(从零开始)。
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

另请参见

itemEditEnd 事件  
事件对象类型: fl.events.DataGridEvent
DataGridEvent.type property = fl.events.DataGridEvent.ITEM_EDIT_END

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当项目编辑会话因任何原因而结束时调度。

DataGridEvent.ITEM_EDIT_END 常数定义 itemEditEnd 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
columnIndexDataGrid 对象的 columns 数组中标题列的从零开始的索引。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
dataField与项目列关联的数据中的字段或属性的名称。
itemRenderer要编辑的项目的项目渲染器。
reason定义事件原因的常量。该值必须是 DataGridEventReason 类的成员。
rowIndex数据提供者中项目的索引(从零开始)。
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

另请参见

itemFocusIn 事件  
事件对象类型: fl.events.DataGridEvent
DataGridEvent.type property = fl.events.DataGridEvent.ITEM_FOCUS_IN

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当项目获得焦点后调度。

DataGridEvent.ITEM_FOCUS_IN 常量定义 itemFocusIn 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
columnIndexDataGrid 对象的 columns 数组中标题列的从零开始的索引。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
dataFieldnull
itemRenderer要编辑的项目的项目渲染器。
reasonnull
rowIndex数据提供者中项目的索引(从零开始)。
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

另请参见

itemFocusOut 事件  
事件对象类型: fl.events.DataGridEvent
DataGridEvent.type property = fl.events.DataGridEvent.ITEM_FOCUS_OUT

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当项目失去焦点后调度。

DataGridEvent.ITEM_FOCUS_OUT 常数定义 itemFocusOut 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
columnIndexDataGrid 对象的 columns 数组中标题列的从零开始的索引。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
dataFieldnull
itemRenderer要编辑的项目的项目渲染器。
reasonnull
rowIndex数据提供者中项目的索引(从零开始)。
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

另请参见

示例 如何使用示例

此示例演示了如何动态创建 DataGrid 实例并侦听其事件。

若要运行该示例,请按照下列步骤操作:

  1. 将 DataGrid 组件添加到库中。
  2. 将该代码作为 DataGridExample.as 另存到 FLA 文件所在的同一目录中。
  3. 将 FLA 文件中的 Document 类设置为 DataGridExample。
package 
{
    import fl.controls.DataGrid;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    
    public class DataGridExample extends Sprite
    {
        var sampleItem1:Object = { Name:"John Alpha",     Number:"555-123-0101", Email:"jalpha@fictitious.com" };
        var sampleItem2:Object = { Name:"Mary Bravo",     Number:"555-372-3322", Email:"mbravo@fictitious.com" };
        var sampleItem3:Object = { Name:"Trevor Gamma", Number:"555-485-1212", Email:"tgamma@fictitious.com" };
        var sampleItem4:Object = { Name:"Susan Delta",     Number:"555-987-3434", Email:"sdelta@fictitious.com" };        
        
        var dg:DataGrid;
        var tf1:TextField;
        var tf2:TextField;
        var tf3:TextField;
        
        public function DataGridExample() {
            createDataGrid();
            createTextFields();
        }
        private function createDataGrid():void {
            dg = new DataGrid();
            dg.move(10, 10);
            dg.width = 500
            dg.rowCount = 4;
            dg.columns = ["Name", "Number", "Email"];
            dg.addItem(sampleItem1);
            dg.addItem(sampleItem2);
            dg.addItem(sampleItem3);
            dg.addItem(sampleItem4);
            
            dg.addEventListener(Event.CHANGE, gridItemSelected);
            dg.minColumnWidth = dg.width / 3;
            addChild(dg);
        }
        private function createTextFields():void {
            tf1 = new TextField();
            tf2 = new TextField();
            tf3 = new TextField();
            tf1.x = 10;
            tf2.x = 10;
            tf3.x = 10;
            tf1.autoSize = TextFieldAutoSize.LEFT;
            tf2.autoSize = TextFieldAutoSize.LEFT;
            tf3.autoSize = TextFieldAutoSize.LEFT;
            tf1.y = 150;
            tf2.y = 175;
            tf3.y = 200;
            
            addChild(tf1);
            addChild(tf2);
            addChild(tf3);            
        }
        private function gridItemSelected(e:Event):void {
            tf1.text = "Name: " + e.target.selectedItem.Name;
            tf2.text = "Number: " + e.target.selectedItem.Number;
            tf3.text = "Email: " + e.target.selectedItem.Email;            
        }
    }
}




 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/fl/controls/DataGrid.html