| 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):voidSee 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):voiddataTipFunction: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):voidpublic 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):voidpublic 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():BooleanheaderRenderer: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):voidheaderText: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):voidheaderWordWrap:*| 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):voidimeMode: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):voidSee 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):voidlabelFunction: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):voidminWidth: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):voidnullItemRenderer: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):voidpublic 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):voidpublic 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):voidpublic 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):voidwidth: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):voidwordWrap:*| 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):voidpublic 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 Dec 24 2012, 01:18 PM +11:00