ExtJS 是一个强大的JavaScript 库,专用于构建富客户端应用程序,尤其在创建数据驱动的用户界面方面表现出色。其中,GridPanel 是一个核心组件,用于展示数据网格,它提供了丰富的功能,如数据分页、排序、选择等。下面将详细阐述`GridPanel`中的关键属性和方法。
1. **store**:
GridPanel 的数据源是通过 `store` 配置项指定的,它可以是 `Ext.data.Store` 对象,用于存储和管理数据记录。`store` 负责加载、缓存和处理数据,并与 GridPanel 进行同步。
2. **getColumnModel()**:
这个方法用于获取 GridPanel 的列模型(ColumnModel)。列模型定义了每一列的属性,如宽度、标题、对齐方式等。通过 ColumnModel,可以设置列的可编辑性、默认排序和隐藏/显示状态。
3. **getSelectionModel()**:
`getSelectionModel()` 返回 GridPanel 的选择模型(SelectionModel)。选择模型决定了用户如何选择行,例如单选或多选。常见的选择模型有 `Ext.selection.RowModel` 和 `Ext.selection.CheckboxModel`。
4. **id**:
每一列都有一个唯一的 `id`,用于标识该列,这在需要引用特定列时非常有用。
5. **header**:
`header` 属性用于设置列的标题,这是用户在界面中看到的列名。
6. **value**:
数据的原始值,对应于数据模型中的一条记录的某个字段。
7. **rowIndex** 和 **colIndex**:
这两个属性分别表示单元格所在的行索引和列索引,它们用于定位 GridPanel 中的特定单元格。
8. **store**:
除了作为配置项外,`store` 也可以作为一个属性来访问,它提供了操作数据集的方法,如添加、删除、更新记录。
9. **groupName**:
如果需要对列进行分组,可以使用 `groupName` 来设置分组的名称。
10. **columns**:
这是一个字段数组,用于定义列的配置,包括列的 `id`、`header`、`dataIndex`(关联数据模型的字段)以及其他列属性。
11. **defaultSortable** 和 **defaultWidth**:
`defaultSortable` 默认为 `false`,表示列是否可以默认排序;`defaultWidth` 定义列的默认宽度。
12. **isHidden()**、**lock()** 和 **isLocked()**:
`isHidden()` 方法检查列是否隐藏;`lock()` 方法锁定某一列,使其不再可移动;`isLocked()` 判断当前列是否已被锁定。
13. **Ext.grid.CheckboxSelectionModel**:
这是一种特殊的选择模型,允许用户通过复选框选择行。它提供了一种方便的多选方式。
14. **Ext.grid.GridView**:
GridView 是 GridPanel 的视图组件,控制着数据的渲染方式。`enableRowBody` 配置项允许包含行的详细信息,当用户点击行时会显示额外的内容。
15. **index**:
当用于 GridView 相关的方法时,`index` 表示当前行的索引,可用于获取或操作特定行的数据。
以上就是 ExtJS 中 GridPanel 的一些核心属性和方法,它们共同构建了一个功能强大的数据展示和交互界面。在实际开发中,可以根据需求灵活配置和使用这些组件,以实现各种复杂的数据管理功能。
评论0
最新资源