在学习Ext 数据之前我来来学习一下JSON 的使用和数据对象格式的写法
1.Json 介绍
虽然XML已在不少应用程序中大显身手,但它并不是十全十美的,特别是遇到AJAX应用的时候,XMLHttpRequest会检查返回数据的MIME类型,如果是text/xml类型,XMLHttpRequest就会运行XML Parser来解析返回的文档,并在内存中构建出对应的DOM树,之后,你可以用JavaScript标准的DOM方法来操作DOM树。由于众所周知 DOM的诟病,这显然不是有效率的方法。另外一个问题是,如果你想使用JavaScript对象而不是直接用XML数据的话,你还得自己遍历整个DOM树来创建相应对象。
于是JSON出现在我们面前。
JSON提供了一种更适合AJAX应用的标准数据交换格式。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
2. Json 的使用介绍(Json 表示对象的方式)
2.1 对象表示原理
Json 提供了两种结构:
1) 名/值对,其格式如下 {"名":"值", ...} 如:{"fullname": "Sean Kelly"},你可以把它理解为对象,或者哈希表,字典等等。
//如在Java 中有一对象
public class User{
private Integer id;
private String name;
private String sex;
private Collection<Score> scores;
.....setter...getter...
}
public class Score {
private Integer id;
//Lession Name
private String lessionId;
private float fraction;
.....setter...getter...
}
表示成Json 对象为
var user = {
"id" :10,
"name" : "liuqing",
"sex" : "male",
"scores" : [
{"id":1030,"english":"100000002","fraction":"125.5"},
{"id":1030,"math":"100000002","fraction":"135"},
{"id":1030,"chineses":"100000002","fraction":"149"},
]
}
可以通过user.id user.name来得到对象的值
2) 数组,它是值的有序列表。一个数组以“[”开始,“]”结束。值之间使用“,”分隔。
3) Json的值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
2.2 Java 与Json 的操作 实战
3. 让我们来进入Ext 吧
Ext.onReady( function (){
//配置JSON数据
var myData = {
records:[
{ name:"record1",column:"1",column2:"2" },
{ name:"record2",column:"2",column2:"5555"},
{ name:"record1",column:"1",column2:"2" },
{ name:"record2",column:"2",column2:"5555"},
{ name:"record1",column:"1",column2:"2" },
{ name:"record2",column:"2",column2:"5555"},
{ name:"record1",column:"1",column2:"2" },
{ name:"record2",column:"2",column2:"5555"},
{ name:"record1",column:"1",column2:"2" },
{ name:"record2",column:"2",column2:"5555"},
{ name:"record1",column:"1",column2:"2" },
{ name:"record2",column:"2",column2:"5555"},
{ name:"record1",column:"1",column2:"2" },
{ name:"record2",column:"2",column2:"5555"},
{ name:"record1",column:"1",column2:"2" },
{ name:"record2",column:"2",column2:"5555"},
{ name:"record1",column:"1",column2:"2" },
{ name:"record2",column:"2",column2:"5555"}
]
};
// Generic fields array to use in both store defs.
//定义头信息
var fields = [
{name: 'name',mapping: 'name'},
{name: 'column1',mapping: 'column1'},
{name: 'column2',mapping: 'column2'}
];
//调用Ext中的JsonStore 产生GridStore对象
var gridStore = new Ext.data.JsonStore({
fields:fields,
data:myData,
root: 'records'
});
// Column Model shortcut array
var cols = [
{ id: 'name' , header: "Record Name" ,width: 160
,sortable: true, dataIndex :'name'},
{header: "column1", width: 50, sortable: true, dataIndex: "column1"},
{header: "column2", width: 50, sortable: true, dataIndex: "column2"}
];
// declare the source Grid
//用renderTo 标签将对应的EditorGridPanel renderTo 到对应的面板中(<div id="panelGrid">
//</div>)
var grid = new Ext.grid.EditorGridPanel({
ddGroup : 'gridDDGroup',
store : gridStore,
columns : cols,
renderTo : 'panelGrid',
enableDragDrop : true,
stripeRows : true,
autoExpandColumn : 'name',
width : 30,
height : 40,
clicksToEdit : true,
//region : 'west',
title : 'Data Grid'
//selModel : new Ext.grid.RowSelectionModel({singleSelect : true})
});
分享到:
相关推荐
总结来说,EXT2.0.2的表格间数据拖拽涉及到EXT Grid、DataStore、DragDrop和DropTarget的使用,通过这些组件和接口的组合,开发者可以创建出高度交互、功能丰富的Web应用。实现这一功能需要对EXT的API有深入的理解,...
Ext表格代玛
其表格组件(`Ext.grid.GridPanel`)是其最具特色的功能之一,广泛应用于数据展示和管理。 #### 二、代码分析 在本例中,我们首先引入了必要的 ExtJS 相关文件,包括样式表、脚本等资源。 ```html ...
EXT表格GridPanel是EXT JS中的另一种重要组件,用于显示和编辑结构化的数据。在示例中,`sampleGridNoPageing`是一个GridPanel实例,用于展示JSON数据。 1. GridPanel的配置项包括但不限于`frame`, `title`, `store...
它提供了一套完整的组件模型,其中包括一个强大的表格组件——Ext Grid。本文将深入探讨如何在Ext Grid中实现增删改查(CRUD)操作,这些操作是任何数据管理应用的基础。 首先,我们需要了解`Ext.grid.Panel`,它是...
EXT 表格 本地分页的例子 EXT 表格 本地分页的例子
NULL 博文链接:https://laodaobazi.iteye.com/blog/1064607
**jQuery仿Ext表格Flexigrid详解** Flexigrid是一款基于jQuery的开源表格插件,它在功能和用户体验上模仿了Ext JS的Grid组件。这款插件以其轻量级、高效和丰富的特性,深受Web开发者喜爱,尤其适用于需要展示大量...
本资源“Ext Panel拼揍表格模板.rar”显然包含了关于如何使用Ext Panel创建自定义表格模板的示例和代码。 Ext JS是一个流行的JavaScript库,用于开发富互联网应用程序(RIA)。它提供了一个强大的组件模型,其中...
本视频教程将深入讲解如何使用Ext来创建可编辑的表格。 1. **Ext Grid Panel**: Ext的核心组件之一是Grid Panel,它用于显示二维数据集,通常用于数据展示和操作。Grid Panel可以配置多种列类型,如文本、数字、...
JS的表格分页小工具代码,自己开发遇到需求时候开发的,只有分页功能,EXT表格的迷你版。有问题到:http://blog.csdn.net/ben_gmail/article/details/6585141留言谢谢。
在本例中,我们使用ExtJS 4.2创建了一个简单的表格控件,并使用Ext.PagingToolbar实现了分页功能。首先,我们创建了一个表格控件grid,并将其渲染到页面上,然后定义了分页工具条bbar。bbar使用Ext.PagingToolbar...
在本文中,我们将深入探讨"Ext表格列锁定+多表头插件"这一主题,它在Ext3.4版本中的实现及其相关技术。这个插件主要用于改进Ext Grid的用户体验,特别是处理大量数据时,通过列锁定和多表头功能,使得用户能够更有效...
在本资源中,我们关注的是"表格Ext js gird源代码",这涉及到Ext JS中的Grid Panel组件,它是展示和操作数据集的主要工具。 Grid Panel是Ext JS中的核心组件之一,用于显示结构化的数据,通常以表格的形式。它支持...
"EXT可编辑表格"是一种基于EXTJS框架的功能强大的表格组件,允许用户在表格的单元格内直接进行编辑。EXTJS是Sencha公司开发的一个用于构建富客户端应用的JavaScript库,它提供了丰富的组件库,包括表格、窗口、菜单...
### Ext表格控件和树控件 #### 表格控件 ##### 1.1 基本表格 `GridPanel` 在Ext JS框架中,`GridPanel` 是一种用于展示和管理表格数据的重要组件。它提供了丰富的功能,例如排序、缓存、拖动列、隐藏列、自动显示...
在EXT JS框架中,双层表格,也称为嵌套表格或多级表格,是一种用于展示层次数据的强大工具。EXT JS的Grid组件是实现这一功能的主要组件,它允许开发者以清晰、交互的方式展示复杂的数据结构。以下是对EXT JS双层表格...
在"Ext左树有表格 增删改查"这个主题中,我们主要关注的是ExtJS如何实现左侧树形结构与右侧表格的交互,以及在这样的布局中进行数据的增、删、改、查操作。 首先,ExtJS中的树形组件(TreePanel)可以用来展示层级...
一个关于EXTJs 表格 中文排序的例子