1.DataGrid用于显示应用程序数据,在最简单的情况下,DataGrid将数据组织为行列形式呈现给用户;
<s:
DataGrid
>
<mx:columns>
<mx:DataGridColumn
headerText="" dataField="" editable=""
/>
<mx:DataGridColumn/>
<mx:DataGridColumn/>
</mx:columns>
</s:
DataGrid
>
其中
headerText
表示表头的文本,
dataField
用来将数据集中的列定位到
DataGrid
中的特定列。如果不设置
headerTex
t的特性,将直接获取
dataField
的特性值
2.为
DataGridColumn
添加内联的编辑控件;
在DataGrid中,可以将某一列显示的数据指定为可编辑的,当焦点位于单元格时,用户能改变其中的数据。只需要将
editable
属性设置为
true
,默认的编辑控件为文本域;
<s:DataGrid>
<mx:columns>
<mx:DataGridColumn
editable="
true
"
/>
</mx:columns>
</s:DataGrid>
下面是可以指定的内置控件(必须实现了IDropInListItemRender接口)、使用时需要指定完整的包名、除非已经导入相应的包含页;
Button、CheckBox、ComboBox、DateField、Image、Label、NumericStepper、TextArea、TextInput
例
<mx:
DataGridColumn
headerText="
Quantity
" dataField="
quantity
" itemEditor="
mx.controls.NumericStepper
" editorDataField="
value
"
/》
3.创建内联的MXML项目呈现器
DataGrid的默认行为是将数据集中的每个值都转换为字符串,然后显示该字符串,当涉及存储复杂对象时,可以创建自定义的项目呈现器为该列显示更多信息,当使用项目呈现器时会存在一个隐式的公有变量
data
,它代表该行本身的数据,当
DataGrid
创建一个拥有自定义项目呈现器的列时,它会为每一行创建一个单元格呈现器的实例,所以不需要在意到底操作的是呈现器的哪一行;
使用<mx:itemRenderer>标签创建项目呈现器;
<mx:DataGridColumn
editable="
false
"
>
<mx:itemRenderer>
<fx:Component>
...
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>