`
starbhhc
  • 浏览: 654753 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

Ext的data.srtoe的loadData

阅读更多
在写Ajax程序时,假如我们的布局如下:

+-------------------------+

|                         |

|    数据列表区Grid       |

|                         |

+-------------------------+

|                         |

|    数据展示/编辑区      |

|                         |

+-------------------------+

如果我们增加一条记录,如何让列表也增加移行呢?从服务器读取?不太合理,当然是js操作Grid是最好的,可是当我们使用Ext.GridPanel时怎么办呢?使用grid.dom肯定是得不偿失的;让人意想不到的时我们可以通过操作grid.store来实现操作,有点类似Delphi的数据库程序,(在Delphi中我们给Dataset增加一条记录,那么与其相关的展示数据的DBGrid会自动显示新增的数据)。

如下例所示:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
    <link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css">
    <script type="text/javascript" src="../adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="../ext-all.js"></script>


<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>

<script>


// -----------  GRID -----------------
var myData = [
    ['Apple',29.89,0.24,0.81,'9/1 12:00am'], 
    ['Ext',83.81,0.28,0.34,'9/12 12:00am'], 
    ['Google',71.72,0.02,0.03,'10/1 12:00am'], 
    ['Microsoft',52.55,0.01,0.02,'7/4 12:00am'], 
    ['Yahoo!',29.01,0.42,1.47,'5/22 12:00am']
    ];   

var myReader = new Ext.data.ArrayReader({},
[{name: 'company'}, 
{name: 'price', type: 'float'}, 
{name: 'change', type: 'float'}, 
{name: 'pctChange', type: 'float'}, 
{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
]); 

var ds = new Ext.data.Store({
        data: myData,
        reader: myReader
        });

var grid = new Ext.grid.GridPanel({
store: ds,
columns: [{header: "Company", width: 120, sortable: true, dataIndex: 'company'},  
  {header: "Price", width: 90, sortable: true, dataIndex: 'price'},  
  {header: "Change", width: 90, sortable: true, dataIndex: 'change'},  
  {header: "% Change", width: 90, sortable: true, dataIndex: 'pctChange'},  
  {header: "Last Updated", width: 120, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'),                          dataIndex: 'lastChange'}
], 
viewConfig: {
  forceFit: true
}, 
title: 'My First Grid', 
width: 500, 
frame: true
});

Ext.onReady(function() {
grid.render('content');
});


function addr()
{  // 下面就是为Grid新增一行的代码
var rd = [['苹果',29.89,0.24,0.81,'']];  // 这是数据格式,必须与myData一样才行
ds.loadData(rd, true);   // 第二个参数如果为false,则会清空ds的数据后再追加,
}
</script>

<div id=content></div>
<input type=button value="增加" onclick="addr()">
</BODY>
</HTML>
如果把这项功能能用于从服务器获取数据,那么实现ComboBox联动就容易了,呵呵,用到的时候再试吧!star

分享到:
评论

相关推荐

    Ext.data.Store的基本用法

    在创建完`Ext.data.Store`实例后,执行`store.load()`方法会触发数据转换的过程。`MemoryProxy`从内存中读取原始数据,`ArrayReader`则负责将这些数据转换为`PersonRecord`实例,最后这些实例会被存储在`store`中。...

    Ext.data.Store 读取XML属性值

    这篇博客文章《Ext.data.Store 读取XML属性值》可能深入探讨了如何利用`Ext.data.reader.Xml`来解析XML并填充数据存储。 XML是一种结构化数据格式,广泛用于数据交换,尤其是Web服务和API。`Ext.data.reader.Xml`是...

    Ext3.2的Ext.data.Store类和Ext.Ajax类的实际运用

    环境:Window XP Sp2、Tomcat 6.0、...关于Ext.data.Store类,我们可以看出:该框架提供了客户端缓存的功能--这对于我们框架系统是非常有帮助的。本示例代码注释非常详细。 阅读对象:需要使用Ext框架进行Web开发的人员

    Extjs 继承Ext.data.Store不起作用原因分析及解决

    关于这个原因有很多种,我只说下我遇到的 我这样 写Store来复用的 代码如下: DocStore = Ext.extend(Ext.data.Store,{ initComponent:function(){ this.proxy = new Ext.data.HttpProxy({url:this.url}); this....

    EXT核心API详解

    29、Ext.data.MemoryProxy类 ……… 25 30、Ext.data.ScriptTagProxy类 ………… 25 31、Ext.data.DataReader类 ……………26 32、Ext.data.ArrayReader类 …………… 26 33、Ext.data.JsonReader类 …………… 26 ...

    ext3.jar ext使用非常多

    EXT,全称EXT JS,是一种基于JavaScript的开源前端框架,主要应用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。EXT3.jar是EXT框架的一个版本,它包含EXT库的Java版本,通常用于Java Web应用程序...

    extjs-Ext.ux.form.LovCombo下拉框

    在EXTJS框架中,`Ext.ux.form.LovCombo`是一种自定义组件,它扩展了基本的`Ext.form.field.ComboBox`,提供了更丰富的功能,尤其是针对多选和联动选择的需求。这个组件通常用于创建具有“lov”(即“Look Up Value”...

    [Ext 3.x + Ext 2.x] 下拉树 Ext.ux.ComboBoxTree

    1. `store`:定义数据存储对象,可以是Ext.data.TreeStore,用于保存树形结构的数据。 2. `displayField`:指定显示在下拉框中的字段,通常是从树节点数据中提取的属性。 3. `valueField`:选择后记录的值,通常是树...

    解决wsl占用空间大的问题,压缩ext4.vhdx文件

    wsl2生成的vhdx 后缀的虚拟磁盘文件特点是可以自动扩容,但是一般不会自动缩容,这个脚本可以压缩vhdx文件,如果vhdx路径不知道可以参考:https://blog.csdn.net/wl6g11/article/details/131831524 ...

    Ext2.xAPI最新中文文档

    Ext2.xAPI最新中文文档Ext2.xAPI最新中文文档Ext2.xAPI最新中文文档Ext2.xAPI最新中文文档Ext2.xAPI最新中文文档Ext2.xAPI最新中文文档Ext2.xAPI最新中文文档Ext2.xAPI最新中文文档Ext2.xAPI最新中文文档Ext2.xAPI...

    Ext3.x样式 Ext3.x皮肤

    Ext3.x是一款经典的JavaScript库,主要用于构建富客户端应用程序,它提供了丰富的用户界面组件和强大的数据管理功能。在Ext3.x中,"样式"和"皮肤"是两个关键概念,它们对于提升应用程序的视觉效果和用户体验至关重要...

    Ext.Store的获取方法

    var store = new Ext.data.JsonStore({ // store configurations }); store.load(); ``` 然后通过`store`变量来访问和操作Store。但在使用`extend`进行类继承时,可能会将Store的定义放在一个新的组件内,例如一个...

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    store: Ext.create('Ext.data.Store', { fields: ['name', 'value'], proxy: { type: 'ajax', url: 'data.json', // 本地数据文件路径 reader: { type: 'json', rootProperty: 'items' } }, autoLoad: ...

    基于java的开发源码-Lerx开源网站内容管理系统(CMS.ext).zip

    基于java的开发源码-Lerx开源网站内容管理系统(CMS.ext).zip 基于java的开发源码-Lerx开源网站内容管理系统(CMS.ext).zip 基于java的开发源码-Lerx开源网站内容管理系统(CMS.ext).zip 基于java的开发源码-Lerx开源...

    Ext.tree.TreeLoader附带封装的json类

    在本文中,我们将深入探讨`Ext.tree.TreeLoader`与JSON数据在Ext JS框架中的应用。`Ext.tree.TreeLoader`是Ext JS库中的一个组件,它负责加载和解析树形结构的数据,而JSON(JavaScript Object Notation)则是一种轻...

    基于java的开发源码-Java Lerx开源网站内容管理系统(CMS.ext).zip

    基于java的开发源码-Java Lerx开源网站内容管理系统(CMS.ext).zip 基于java的开发源码-Java Lerx开源网站内容管理系统(CMS.ext).zip 基于java的开发源码-Java Lerx开源网站内容管理系统(CMS.ext).zip 基于java的开发...

    org.restlet.ext.spring.jar

    org.restlet.ext.spring.jar

    openwrt-by-linfang26-2016-10-17-x86-generic-combined-ext4.img

    openwrt-by-linfang26-2016-10-17-x86-generic-combined-ext4.img

    新版ext教程.pdf

    新版ext教程.pdf新版ext教程.pdf新版ext教程.pdf新版ext教程.pdf新版ext教程.pdf新版ext教程.pdf新版ext教程.pdf新版ext教程.pdf新版ext教程.pdf新版ext教程.pdf

    EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档

    EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档...

Global site tag (gtag.js) - Google Analytics