Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The DataGridColumn class describes a column in a DataGrid control.
There is one DataGridColumn per displayable column, even if a column
is hidden or off-screen.
The data provider items of a DataGrid control
can contain properties that are not displayed
and, therefore, do not need a DataGridColumn.
A DataGridColumn allows specification of the color and font of the text
in a column; what kind of component displays the data for the column;
whether the column is editable, sortable, or resizable;
and the text for the column header.
Notes:
- A DataGridColumn only holds information about a column;
it is not the parent of the item renderers in the column.
- If you specify a DataGridColumn class without a
dataField
property, you must specify a sortCompareFunction
property. Otherwise, sort operations may cause run-time errors.
Show MXML Syntax
Hide MXML Syntax 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"
/>
dataField:String
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The name of the field or property in the data provider item associated
with the column.
Each DataGridColumn control
requires this property and/or the labelFunction
property
to be set in order to calculate the displayable text for the item
renderer.
If the dataField
and labelFunction
properties are set,
the data is displayed using the labelFunction
and sorted
using the dataField
. If the property named in the
dataField
does not exist, the
sortCompareFunction
must be set for the sort to work
correctly.
This value of this property is not necessarily the String that
is displayed in the column header. This property is
used only to access the data in the data provider.
For more information, see the headerText
property.
Implementation public function get dataField():String
public function set dataField(value:String):void
See also
dataTipField:String
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The name of the field in the data provider to display as the datatip.
By default, the DataGrid control looks for a property named
label
on each data provider item and displays it.
However, if the data provider does not contain a label
property, you can set the dataTipField
property to
specify a different property.
For example, you could set the value to "FullName" when a user views a
set of people's names included from a database.
This property can be used as the source for data binding.
Implementation public function get dataTipField():String
public function set dataTipField(value:String):void
dataTipFunction:Function
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
Specifies a callback function to run on each item of the data provider
to determine its dataTip.
This property is used by the itemToDataTip
method.
By default the control looks for a property named label
on each data provider item and displays it as its dataTip.
However, some data providers do not have a label
property
nor do they have another property that you can use for displaying data
in the rows.
For example, you might have a data provider that contains a lastName
and firstName fields, but you want to display full names as the dataTip.
You can specify a function to the dataTipFunction
property
that returns a single String containing the value of both fields. You
can also use the dataTipFunction
property for handling
formatting and localization.
The function must take a single Object parameter, containing the
data provider element, and return a String.
This property can be used as the source for data binding.
Implementation public function get dataTipFunction():Function
public function set dataTipFunction(value:Function):void
public var draggable:Boolean = true
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A flag that indicates whether the user is allowed to drag
the column to a new position
If true
, the user can drag the
the column headers to a new position
The default value is true
.
editable:Boolean
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A flag that indicates whether the items in the column are editable.
If true
, and the DataGrid's editable
property is also true
, the items in a column are
editable and can be individually edited
by clicking on an item or by navigating to the item by using the
Tab and Arrow keys.
The default value is true
.
Implementation public function get editable():Boolean
public function set editable(value:Boolean):void
public var editorDataField:String = text
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The name of the property of the item editor that contains the new
data for the list item.
For example, the default itemEditor
is
TextInput, so the default value of the editorDataField
property is "text"
, which specifies the
text
property of the TextInput control.
The default value is "text"
.
public var editorHeightOffset:Number = 0
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The height of the item editor, in pixels, relative to the size of the
item renderer. This property can be used to make the editor overlap
the item renderer by a few pixels to compensate for a border around the
editor.
Note that changing these values while the editor is displayed
will have no effect on the current editor, but will affect the next
item renderer that opens an editor.
The default value is 0
.
public var editorUsesEnterKey:Boolean = false
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A flag that indicates whether the item editor uses Enter key.
If true
the item editor uses the Enter key and the
DataGrid will not look for the Enter key and move the editor in
response.
Note that changing this value while the editor is displayed
will have no effect on the current editor, but will affect the next
item renderer that opens an editor.
The default value is false.
.
public var editorWidthOffset:Number = 0
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The width of the item editor, in pixels, relative to the size of the
item renderer. This property can be used to make the editor overlap
the item renderer by a few pixels to compensate for a border around the
editor.
Note that changing these values while the editor is displayed
will have no effect on the current editor, but will affect the next
item renderer that opens an editor.
The default value is 0
.
public var editorXOffset:Number = 0
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The x location of the upper-left corner of the item editor,
in pixels, relative to the upper-left corner of the item.
This property can be used to make the editor overlap
the item renderer by a few pixels to compensate for a border around the
editor.
Note that changing these values while the editor is displayed
will have no effect on the current editor, but will affect the next
item renderer that opens an editor.
The default value is 0
.
public var editorYOffset:Number = 0
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The y location of the upper-left corner of the item editor,
in pixels, relative to the upper-left corner of the item.
This property can be used to make the editor overlap
the item renderer by a few pixels to compensate for a border around the
editor.
Note that changing these values while the editor is displayed
will have no effect on the current editor, but will affect the next
item renderer that opens an editor.
The default value is 0
.
enableIME:Boolean
[read-only]
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
A flag that indicates whether the IME should
be enabled when the component receives focus.
If an editor is up, it will set enableIME
accordingly.
Implementation public function get enableIME():Boolean
headerRenderer:IFactory
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The class factory for item renderer instances that display the
column header for the column.
You can specify a drop-in item renderer,
an inline item renderer, or a custom item renderer component as the
value of this property.
The default item renderer is the DataGridItemRenderer class,
which displays the item data as text.
This property can be used as the source for data binding.
Implementation public function get headerRenderer():IFactory
public function set headerRenderer(value:IFactory):void
headerText:String
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
Text for the header of this column. By default, the DataGrid
control uses the value of the dataField
property
as the header text.
This property can be used as the source for data binding.
Implementation public function get headerText():String
public function set headerText(value:String):void
headerWordWrap:*
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A flag that indicates whether text in the header will be
word wrapped if it doesn't fit on one line.
If undefined
, the DataGrid control's wordWrap
property
is used.
The default value is undefined
.
Implementation public function get headerWordWrap():*
public function set headerWordWrap(value:any):void
imeMode:String
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
Specifies the IME (input method editor) mode.
The IME enables users to enter text in Chinese, Japanese, and Korean.
Flex sets the IME mode when the itemFocusIn
event occurs,
and sets it back
to the previous value when the itemFocusOut
event occurs.
The flash.system.IMEConversionMode class defines constants for
the valid values for this property.
The default value is null, in which case it uses the value of the
DataGrid control's imeMode
property.
Implementation public function get imeMode():String
public function set imeMode(value:String):void
See also
flash.system.IMEConversionMode
public var itemEditor:IFactory
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A class factory for the instances of the item editor to use for the
column, when it is editable.
The default value is new ClassFactory(mx.controls.TextInput)
.
itemRenderer:IFactory
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The class factory for item renderer instances that display the
data for each item in the column.
You can specify a drop-in item renderer,
an inline item renderer, or a custom item renderer component as the
value of this property.
The default item renderer is the DataGridItemRenderer class,
which displays the item data as text.
This property can be used as the source for data binding.
Implementation public function get itemRenderer():IFactory
public function set itemRenderer(value:IFactory):void
labelFunction:Function
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A function that determines the text to display in this column. By default
the column displays the text for the field in the data that matches the
column name. However, sometimes you want to display text based on
more than one field in the data, or display something that does not
have the format that you want.
In such a case you specify a callback function using labelFunction
.
For the DataGrid control, the method signature has the following form:
labelFunction(item:Object, column:DataGridColumn):String
Where item
contains the DataGrid item object, and
column
specifies the DataGrid column.
A callback function might concatenate the firstName and
lastName fields in the data, or do some custom formatting on a Date,
or convert a number for the month into the string for the month.
This property can be used as the source for data binding.
Implementation public function get labelFunction():Function
public function set labelFunction(value:Function):void
minWidth:Number
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The minimum width of the column.
The default value is 20
.
This property can be used as the source for data binding.
Implementation public function get minWidth():Number
public function set minWidth(value:Number):void
nullItemRenderer:IFactory
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The class factory for item renderer instances that display the
data for each item in the column.
You can specify a drop-in item renderer,
an inline item renderer, or a custom item renderer component as the
value of this property.
The default item renderer is the DataGridItemRenderer class,
which displays the item data as text.
This property can be used as the source for data binding.
Implementation public function get nullItemRenderer():IFactory
public function set nullItemRenderer(value:IFactory):void
public var rendererIsEditor:Boolean = false
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A flag that indicates that the item renderer is also an item editor.
If this property is true
, Flex
ignores the itemEditor
property and uses the item
renderer for that item as the editor.
The default value is false
.
public var resizable:Boolean = true
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A flag that indicates whether the user is allowed to resize
the width of the column.
If true
, the user can drag the grid lines between
the column headers to resize
the column.
The default value is true
.
showDataTips:*
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A flag that indicates whether the datatips are shown in the column.
If true
, datatips are displayed for text in the rows. Datatips
are tooltips designed to show the text that is too long for the row.
The default value is false
.
Implementation public function get showDataTips():*
public function set showDataTips(value:any):void
public var sortable:Boolean = true
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A flag that indicates whether the user can click on the
header of this column to sort the data provider.
If this property and the DataGrid sortableColumns
property
are both true
, the DataGrid control dispatches a
headerRelease
event when a user releases the mouse button
on this column's header.
If no other handler calls the preventDefault()
method on
the headerRelease
event, the dataField
property or sortCompareFunction
in the column is used
to reorder the items in the dataProvider.
The default value is true
.
sortCompareFunction:Function
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A callback function that gets called when sorting the data in
the column. If this property is not specified, the sort tries
to use a basic string or number sort on the data.
If the data is not a string or number or if the dataField
property is not a valid property of the data provider, the sort does
not work or will generate an exception.
If you specify a value of the labelFunction
property,
you typically also provide a function to the sortCompareFunction
property,
unless sorting is not allowed on this column.
That means you specify a function when the value from the column's dataField
does not sort in the same way as the computed value from the labelFunction
property.
The DataGrid control uses this function to sort the elements of the data
provider collection. The function signature of
the callback function takes two parameters and have the following form:
mySortCompareFunction(obj1:Object, obj2:Object):int
obj1
— A data element to compare.
obj2
— Another data element to compare with obj1.
The function should return a value based on the comparison
of the objects:
- -1 if obj1 should appear before obj2 in ascending order.
- 0 if obj1 = obj2.
- 1 if obj1 should appear after obj2 in ascending order.
Note: The obj1
and
obj2
parameters are entire data provider elements and not
just the data for the item.
The default value is null
.
This property can be used as the source for data binding.
Implementation public function get sortCompareFunction():Function
public function set sortCompareFunction(value:Function):void
public var sortDescending:Boolean = false
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
Indicates whether the column sort is
in ascending order, false
,
or descending
order, true.
Setting this property does not start a sort; it only sets the sort direction.
Click on the column header to perform the sort.
The default value is false;
.
visible:Boolean
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A flag that indicates whethe the column is visible.
If true
, the column is visible.
The default value is true
.
Implementation public function get visible():Boolean
public function set visible(value:Boolean):void
width:Number
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
The width of the column, in pixels.
If the DataGrid's horizontalScrollPolicy
property
is false
, all visible columns must fit in the displayable
area, and the DataGrid will not always honor the width of
the columns if the total width of the columns is too
small or too large for the displayable area.
The default value is 100
.
This property can be used as the source for data binding.
Implementation public function get width():Number
public function set width(value:Number):void
wordWrap:*
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
A flag that indicates whether the text in a row of this column
is word wrapped if it doesn't fit on one line.
If undefined
, the DataGrid control's wordWrap
property
is used.
Only takes effect if the DataGrid.variableRowHeight
property is also
true
.
The default value is undefined
.
Implementation public function get wordWrap():*
public function set wordWrap(value:any):void
public function DataGridColumn(columnName:String = null)
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
Constructor.
Parameters | columnName:String (default = null ) — The name of the field in the data provider
associated with the column, and the text for the header cell of this
column. This is equivalent to setting the dataField
and headerText properties.
|
public function getItemRendererFactory(forHeader:Boolean, data:Object):IFactory
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
Return the appropriate factory, using the default factory if none specified.
Parameters
| forHeader:Boolean — true if this is a header renderer.
|
|
| data:Object — The data to be presented by the item renderer.
|
Returns | IFactory — if data is null, the default item renderer,
otherwis it returns the custom item renderer.
|
public function itemToDataTip(data:Object):String
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
Returns a String that the item renderer displays as the datatip for the given data object,
based on the dataTipField
and dataTipFunction
properties.
If the method cannot convert the parameter to a String, it returns a
single space.
This method is for use by developers who are creating subclasses
of the DataGridColumn class.
It is not for use by application developers.
Parameters
| data:Object — Object to be rendered.
|
Returns | String — Displayable String based on the data.
|
public function itemToLabel(data:Object):String
Language Version : | ActionScript 3.0 |
Runtime Versions : | Flash Player 9, AIR 1.1 |
Returns the String that the item renderer displays for the given data object.
If the DataGridColumn or its DataGrid control
has a non-null labelFunction
property, it applies the function to the data object.
Otherwise, the method extracts the contents of the field specified by the
dataField
property, or gets the string value of the data object.
If the method cannot convert the parameter to a String, it returns a
single space.
Parameters
| data:Object — Object to be rendered.
|
Returns | String — Displayable String based on the data.
|
Mon Jul 9 2012, 07:18 PM -04:00