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.
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:
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
If the setStyle() method is called on a UIComponent or CSSStyleDeclaration
at run time, this object stores the name/value pairs that were set;
they override the name/value pairs in the objects produced by
the methods specified by the defaultFactory and
factory properties.
Type: uint Format: Color CSS Inheritance: no
The Background color of the column.
The default value is undefined, which means it uses the value of the
backgroundColor style of the associated DataGrid control.
The default value for the DataGrid control is 0xFFFFFF.
DataGridColumn
color
Type: uint Format: Color CSS Inheritance: yes
Color of text in the component, including the component label.
The default value for the Halo theme is 0x0B333C.
The default value for the Spark theme is 0x000000.
DataGridColumn
direction
Type: String CSS Inheritance: yes
The directionality of the text displayed by the component.
The allowed values are "ltr" for left-to-right text,
as in Latin-style scripts,
and "rtl" for right-to-left text,
as in Arabic and Hebrew.
FTE and TLF use this value in their bidirectional text layout algorithm,
which maps Unicode character order to glyph order.
Note: This style only applies when an MX component
specifies UIFTETextField as its textFieldClass.
The direction also affects the alignment
of the text within the bounds of the TLFTextField.
It does not, however, affect the the placement
of the TLFTextField within the component.
The default value is "ltr".
DataGridColumn
disabledColor
Type: uint Format: Color CSS Inheritance: yes
Color of text in the component if it is disabled.
The default value is 0xAAB3B3.
DataGridColumn
fontAntiAliasType
Type: String CSS Inheritance: yes
Sets the antiAliasType property of internal TextFields. The possible values are
"normal" (flash.text.AntiAliasType.NORMAL)
and "advanced" (flash.text.AntiAliasType.ADVANCED).
The default value is "advanced", which enables advanced anti-aliasing for the font.
Set to "normal" to disable the advanced anti-aliasing.
This style has no effect for system fonts.
This style applies to all the text in a TextField subcontrol;
you cannot apply it to some characters and not others.
The default value is "advanced".
See also
flash.text.TextField flash.text.AntiAliasType
DataGridColumn
fontFamily
Type: String CSS Inheritance: yes
Name of the font to use.
Unlike in a full CSS implementation,
comma-separated lists are not supported.
You can use any font family name.
If you specify a generic font name,
it is converted to an appropriate device font.
The default font for the Halo theme is "Verdana".
The default font for the Spark theme is "Arial".
DataGridColumn
fontGridFitType
Type: String CSS Inheritance: yes
Sets the gridFitType property of internal TextFields that represent text in Flex controls.
The possible values are "none" (flash.text.GridFitType.NONE),
"pixel" (flash.text.GridFitType.PIXEL),
and "subpixel" (flash.text.GridFitType.SUBPIXEL).
This property only applies when you are using an embedded font
and the fontAntiAliasType property
is set to "advanced".
This style has no effect for system fonts.
This style applies to all the text in a TextField subcontrol;
you can't apply it to some characters and not others.
The default value is "pixel".
See also
flash.text.TextField flash.text.GridFitType
DataGridColumn
fontSharpness
Type: Number CSS Inheritance: yes
Sets the sharpness property of internal TextFields that represent text in Flex controls.
This property specifies the sharpness of the glyph edges. The possible values are Numbers
from -400 through 400.
This property only applies when you are using an embedded font
and the fontAntiAliasType property
is set to "advanced".
This style has no effect for system fonts.
This style applies to all the text in a TextField subcontrol;
you can't apply it to some characters and not others.
The default value is 0.
See also
flash.text.TextField
DataGridColumn
fontSize
Type: Number Format: Length CSS Inheritance: yes
Height of the text, in pixels.
In the Halo theme, the default value is 10 for all controls except
the ColorPicker control. For the Halo themed ColorPicker control,
the default value is 11. In the Spark theme, the default value is
12 for all controls except the ColorPicker control. For the Spark
themed ColorPicker control, the default value is 11.
DataGridColumn
fontStyle
Type: String CSS Inheritance: yes
Determines whether the text is italic font.
Recognized values are "normal" and "italic".
The default value is "normal".
DataGridColumn
fontThickness
Type: Number CSS Inheritance: yes
Sets the thickness property of internal TextFields that represent text in Flex controls.
This property specifies the thickness of the glyph edges.
The possible values are Numbers from -200 to 200.
This property only applies when you are using an embedded font
and the fontAntiAliasType property
is set to "advanced".
This style has no effect on system fonts.
This style applies to all the text in a TextField subcontrol;
you can't apply it to some characters and not others.
The default value is 0.
See also
flash.text.TextField
DataGridColumn
fontWeight
Type: String CSS Inheritance: yes
Determines whether the text is boldface.
Recognized values are normal and bold.
The default value for Button controls is bold.
The default value for all other controls is normal.
DataGridColumn
headerStyleName
Type: String CSS Inheritance: no
The name of a CSS style declaration for controlling other aspects of
the appearance of the column headers.
The default value is undefined, which means it uses the value of the
headerStyleName style of the associated DataGrid control.
The default value for the DataGrid control is
".dataGridStyles".
DataGridColumn
kerning
Type: Boolean CSS Inheritance: yes
A Boolean value that indicates whether kerning
is enabled (true) or disabled (false).
Kerning adjusts the gap between certain character pairs
to improve readability, and should be used only when necessary,
such as with headings in large fonts.
Kerning is supported for embedded fonts only.
Certain fonts, such as Verdana, and monospaced fonts,
such as Courier New, do not support kerning.
The default value is false.
DataGridColumn
letterSpacing
Type: Number CSS Inheritance: yes
The number of additional pixels to appear between each character.
A positive value increases the character spacing beyond the normal spacing,
while a negative value decreases it.
The default value is 0.
DataGridColumn
locale
Type: String CSS Inheritance: yes
The locale of the text displayed by this component.
FTE and TLF use this locale to map Unicode characters
to font glyphs and to find fallback fonts.
Note: This style only applies when an MX component
specifies UIFTETextField as its textFieldClass.
The default value is "en".
DataGridColumn
paddingLeft
Type: Number Format: Length CSS Inheritance: no
The number of pixels between the container's left border and its content
area.
The default value is 0.
DataGridColumn
paddingRight
Type: Number Format: Length CSS Inheritance: no
The number of pixels between the container's right border and its content
area.
The default value is 0.
DataGridColumn
textAlign
Type: String CSS Inheritance: yes
Alignment of text within a container.
Possible values are "left", "right",
or "center".
The default value for most components is "left".
For the FormItem component,
the default value is "right".
For the Button, LinkButton, and AccordionHeader components,
the default value is "center", and
this property is only recognized when the
labelPlacement property is set to "left" or
"right".
If labelPlacement is set to "top" or
"bottom", the text and any icon are centered.
DataGridColumn
textDecoration
Type: String CSS Inheritance: yes
Determines whether the text is underlined.
Possible values are "none" and "underline".
The default value is "none".
DataGridColumn
textFieldClass
Type: Class CSS Inheritance: no
The class implementing IUITextField that is used by this component
to render text.
It can be set to either the mx.core.UITextField class
(to use the classic TextField class built into Flash Player)
or the mx.core.UIFTETextField class
(to use the Text Layout Framework to get improved text rendering,
including bidirectional layout).
The default value is mx.core.UITextField.
DataGridColumn
textIndent
Type: Number Format: Length CSS Inheritance: yes
Offset of first line of text from the left side of the container, in pixels.
The default value is 0.
DataGridColumn
Property Detail
dataField
property
dataField:String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
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
property
dataTipFunction:Function
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
draggable
property
public var draggable:Boolean = true
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
property
editable:Boolean
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
editorDataField
property
public var editorDataField:String = text
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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".
editorHeightOffset
property
public var editorHeightOffset:Number = 0
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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.
editorUsesEnterKey
property
public var editorUsesEnterKey:Boolean = false
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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..
editorWidthOffset
property
public var editorWidthOffset:Number = 0
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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.
editorXOffset
property
public var editorXOffset:Number = 0
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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.
editorYOffset
property
public var editorYOffset:Number = 0
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
property
enableIME:Boolean [read-only]
Language Version :
ActionScript 3.0
Product Version :
Flex 4
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
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
property
headerText:String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
property
headerWordWrap:*
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
property
imeMode:String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
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
property
labelFunction:Function
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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:
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
property
minWidth:Number
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
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
rendererIsEditor
property
public var rendererIsEditor:Boolean = false
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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.
resizable
property
public var resizable:Boolean = true
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
property
showDataTips:*
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
sortable
property
public var sortable:Boolean = true
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
property
sortCompareFunction:Function
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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:
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
sortCompareType
property
sortCompareType:String
Language Version :
ActionScript 3.0
Product Version :
Flex 4.11
Runtime Versions :
Flash Player 11.8, AIR 3.8
This property can be used as the source for data binding.
Implementation public function get sortCompareType():String public function set sortCompareType(value:String):void
sortDescending
property
public var sortDescending:Boolean = false
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
property
visible:Boolean
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
property
width:Number
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
property
wordWrap:*
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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
Constructor Detail
DataGridColumn
()
Constructor
public function DataGridColumn(columnName:String = null)
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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.
Method Detail
getItemRendererFactory
()
method
public function getItemRendererFactory(forHeader:Boolean, data:Object):IFactory
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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.
itemToDataTip
()
method
public function itemToDataTip(data:Object):String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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.
itemToLabel
()
method
public function itemToLabel(data:Object):String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
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.