{total:50, rows:[
{Name:'赵一',Sex:true,Phone:'12345678',Email:'abc@abc.com'},
{Name:'钱二',Sex:false,Phone:'12345678',Email:'abc@abc.com'},
{Name:'孙三',Sex:true,Phone:'12345678',Email:'abc@abc.com'},
{Name:'李四',Sex:true,Phone:'12345678',Email:'abc@abc.com'},
{Name:'周五',Sex:false,Phone:'12345678',Email:'abc@abc.com'},
{Name:'郑六',Sex:true,Phone:'12345678',Email:'abc@abc.com'},
{Name:'王七',Sex:true,Phone:'12345678',Email:'abc@abc.com'},
{Name:'冯八',Sex:false,Phone:'12345678',Email:'abc@abc.com'},
{Name:'陈九',Sex:true,Phone:'12345678',Email:'abc@abc.com'},
{Name:'褚十',Sex:true,Phone:'12345678',Email:'abc@abc.com'}
]}
简单的EXT加载数据的例子
3星 · 超过75%的资源 需积分: 0 201 浏览量
更新于2008-07-24
2
收藏 386KB RAR 举报
EXT是一个强大的JavaScript库,主要用于构建富客户端Web应用。在EXT框架中,Treepanel和Gridpanel是两个核心组件,它们分别用于展示和操作树形结构数据以及表格数据。本示例将详细介绍如何在EXT中加载数据,特别是通过EXT的Treepanel来呈现一个生成的树形结构。
我们要理解EXT Treepanel。Treepanel是EXT中用于展示层次结构数据的组件,它可以用于创建多级目录、组织结构图等。在EXT中,我们通常会使用Store来存储和管理数据,然后将Store与Treepanel关联,从而在界面上显示数据。在这个例子中,“简单的EXT加载数据的例子”可能是指如何动态地从服务器获取数据并加载到Treepanel中。
1. **创建Treepanel**
创建Treepanel时,我们需要指定一些基本配置,如ID、标题、宽度、高度等。此外,还需要配置store,用于绑定数据。例如:
```javascript
var treePanel = Ext.create('Ext.tree.Panel', {
title: '文件系统',
width: 200,
height: 300,
renderTo: Ext.getBody(),
store: treeStore, // 这里是我们的数据存储
rootVisible: true, // 是否显示根节点
useArrows: true, // 使用箭头表示层级关系
lines: false // 是否显示连接线
});
```
2. **创建Store**
数据存储(Store)是EXT中负责管理和加载数据的组件。在Treepanel的例子中,我们需要一个能处理树形结构数据的TreeStore。配置包括URL(用于远程数据加载)和model(定义数据字段):
```javascript
var treeStore = Ext.create('Ext.data.TreeStore', {
proxy: {
type: 'ajax',
url: 'getTreeViewData.php', // 这是服务器端返回JSON数据的URL
reader: {
type: 'json',
rootProperty: 'nodes' // JSON数据中的根属性名
}
},
autoLoad: true, // 是否自动加载数据
model: 'TreeNode' // 定义的数据模型
});
```
3. **定义Model**
模型(Model)定义了数据对象的结构。在树形数据的例子中,我们可能需要`text`(节点文本)、`leaf`(是否为叶子节点)和`expanded`(是否展开)等属性:
```javascript
Ext.define('TreeNode', {
extend: 'Ext.data.Model',
fields: ['id', 'text', 'leaf', 'expanded']
});
```
4. **服务器端数据**
在“简单的EXT加载数据的例子”中,描述提到是生成树的例子。这意味着服务器端可能返回一个包含预定义层级结构的JSON数据。例如:
```json
{
"nodes": [
{
"id": "1",
"text": "父节点1",
"leaf": false,
"children": [
{
"id": "1.1",
"text": "子节点1.1",
"leaf": true
},
{
"id": "1.2",
"text": "子节点1.2",
"leaf": true
}
]
},
{
"id": "2",
"text": "父节点2",
"leaf": false,
"children": [
...
]
}
]
}
```
5. **扩展功能**
EXT提供了一些高级特性,如拖放、搜索、排序等,可以进一步增强Treepanel的功能。在实际项目中,可以根据需求选择并实现这些特性。
通过以上步骤,我们可以创建一个简单的EXT Treepanel,并加载服务器返回的树形数据。在OPOAdemo这个文件中,可能包含了实现上述功能的完整代码示例,包括HTML、CSS和JavaScript部分,供开发者参考和学习。理解EXT的Treepanel和数据加载机制,对于开发复杂的Web应用是非常有帮助的。