组件语言参考 |
|
|
|
| DataGrid 组件(仅限 Flash Professional) > 使用 DataGrid 组件(仅限 Flash Professional) > 了解 DataGrid 组件:数据模型和视图 | |||
从概念上来说,DataGrid 组件由数据模型和显示数据的视图组成。数据模型包含以下三个主要部分:
用于填充数据网格的项目列表。同一帧中作为 DataGrid 组件的任何数组都会自动(从 DataProvider API 中)获得一些方法,这些方法允许您处理数据并将更改广播给多个视图。可以将实现 DataProvider API 的任何对象分配给 DataGrid.dataProvider 属性(其中包括记录集、数据集等)。以下代码将创建名为 myDP 的数据提供程序:
myDP = new Array({name:"Chris", price:"Priceless"}, {name:"Nigel", price:"Cheap"});
用于在列的单元格中存储信息单元的 ActionScript 对象。数据网格实际上是一个可以显示多列数据的列表。可以将列表看作一个数组;列表的每个索引空间就是一个项。对于 DataGrid 组件,每个项均由多个字段组成。在以下代码中,大括号 ({}) 之间的内容就是一个项:
myDP = new Array({name:"Chris", price:"Priceless"}, {name:"Nigel", price:"Cheap"});
指明各项内列名称的标识符。它与列列表中的 columnNames 属性相对应。在 List 组件中,字段通常为 label 和 data,但在 DataGrid 组件中,字段可以是任何标识符。在以下代码中,字段为 name(名称)和 price(价格):
myDP = new Array({name:"Chris", price:"Priceless"}, {name:"Nigel", price:"Cheap"});
视图包含三个主要部分:
负责通过布置单元格来呈现网格项目的视图对象。每一行都水平布置在前一行的下方。
列是显示在网格中的字段,每个字段对应于每一列的 columnName 属性。
列是负责显示每一列的视图对象(DataGridColumn 类的实例),例如宽度、颜色、大小等。
可以使用三种方式将列添加到数据网格中:将 DataProvider 对象分配给 DataGrid.dataProvider(此操作会自动为第一项中的每个字段生成一列);设置 DataGrid.columnNames 以指定将显示哪些字段;或者使用 DataGridColumn 类的构造函数来创建列,并调用 DataGrid.addColumn() 以将各列添加到网格中。
若要设置列的格式,请为整个数据网格设置样式属性,或者定义 DataGridColumn 对象,单独设置它们的样式格式,然后将它们添加到数据网格中。
负责呈现每一项的个别字段的视图对象。若要与数据网格通信,这些组件必须实现 CellRenderer API(请参见CellRenderer API)。对于基本数据网格,单元格是内置的 ActionScript TextField 对象。
|
|
|
|