Ext.onReady(function () {
            Ext.define("ProvinceCity", {
                extend: "Ext.data.Model",
                fields: [
                { name: "ProvinceName", type: "string" },
                { name: "CityName", type: "string" }
                ]
            });
            var store = Ext.create("Ext.data.Store", {
                model: "ProvinceCity",
                //autoLoad: true,//进行手动加载
                proxy: {
                    type: "ajax",
                    url: "test2.aspx",
                    reader: {
                        type: "xml",
                        record: "Table"
                    }
                }
            });
            var data;
            var dataStore = new Array();
            store.load({
                scope: this,
                callback: function (records, operation, success) {
                    data = store.collect("ProvinceName"); //因为省份有重复的选项,要把其中重复的选项去掉
                    Ext.Array.each(data, function (item) {
                        dataStore.push({ 'ProvinceName': item });
                    });
                }
            });
            var store1 = Ext.create("Ext.data.Store", {
                fields: ["ProvinceName"],
                data: dataStore,
                proxy: {
                    type: "memory"
                }
            });
            var store2 = Ext.create("Ext.data.Store", {
                model: "ProvinceCity",
                proxy: {
                    type: "memory"
                }
            });
 
            Ext.create("Ext.form.Panel", {
                id: "form1",
                renderTo: Ext.getBody(),
                bodyPadding: 10,
                width: "auto",
                title: "Please Choose Province And City",
                layout: {
                    type: "hbox",
                    align: "left"
                },
                items: [
                        { xtype: "combobox", id: "provinceName", fieldLabel: "ProvinceName", store: store1, valueField: "ProvinceName", displayField: "ProvinceName", padding: 10, listeners: { "select": function (comboBox, record, index) {
                            var temp = store.queryBy(function (record, id) {
                                if (record.get("ProvinceName") == comboBox.getValue()) {
                                    return true;
                                }
                            });
                            store2.removeAll();
                            store2.add(temp.items);
                            Ext.getCmp("cityName").clearValue();
                            Ext.getCmp("cityName").bindStore(store2);
                        }
                        }
                        },
                        { xtype: "combobox", fieldLabel: "CityName", id: "cityName",  padding: 10, valueField: "ProvinceName", displayField: "CityName"}]
            });
        });

ExtJs4.1实现数据缓存的更多相关文章

  1. Servlet数据缓存

    缓存是提高数据访问能力,降低服务器压力的一种必要的方式,今天我要说的数据缓存方式有两种,1-->session对单个数据访问接口页面的数据进行缓存,2-->单例模式对整个servlet页面 ...

  2. 面localStorage用作数据缓存的简易封装

    面localStorage用作数据缓存的简易封装 最近做了一些前端控件的封装,需要用到数据本地存储,开始采用cookie,发现很容易就超过了cookie的容量限制,于是改用localStorage,但 ...

  3. jQuery数据缓存方案详解:$.data()的使用

    我们经常使用隐藏控件或者是js全局变量来临时存储数据,全局变量容易导致命名污染,隐藏控件导致经常读写dom浪费性能.jQuery提供了自己的数据缓存方案,能够达到和隐藏控件.全局变量相同的效果,但是j ...

  4. jQuery 2.0.3 源码分析 数据缓存

    历史背景: jQuery从1.2.3版本引入数据缓存系统,主要的原因就是早期的事件系统 Dean Edwards 的 ddEvent.js代码 带来的问题: 没有一个系统的缓存机制,它把事件的回调都放 ...

  5. SQL Server 数据缓存

    引言 SQL Server通过一些工具来监控数据,其中之一的方法就是动态管理管理视图(DMV). 常规动态服务器管理对象 dm_db_*:数据库和数据库对象 dm_exec_*:执行用户代码和关联的连 ...

  6. iOS开发网络篇—数据缓存

      iOS开发网络篇—数据缓存 一.关于同一个URL的多次请求 有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的. 上面的情况会造 ...

  7. Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析

    mongodb和memcached不是一个范畴内的东西.mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据.mongodb和memcached不存在谁替换谁的问题. 和 ...

  8. 微信小程序-数据缓存

    每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync).wx.getStorage(wx.getStorageSync).wx.clearSt ...

  9. Memcached 数据缓存系统

    Memcached 数据缓存系统 常用命令及使用:http://www.cnblogs.com/wayne173/p/5652034.html Memcached是一个自由开源的,高性能,分布式内存对 ...

随机推荐

  1. 一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录

    开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...

  2. FTPClient 工具类

    package com.photoann.core.util; import java.io.BufferedInputStream; import java.io.File; import java ...

  3. 抱怨IT公司人才缺乏?留住现有人才方是正途

    摘要:员工的好坏决定着IT公司的未来,可很多IT公司在抱怨之时自己的人才却正在流失,如何留住现有的优秀员工?国外知名经理人Sharon Florentine建议:改善自己的管理.让员工不断地学习.创建 ...

  4. bzoj3196

    平衡树系列终于完结,撒花 裸的树套树,扔代码跑 ; ..] of longint; son:..,..] of longint; a,root:..*] of longint; i,n,m,x,y,k ...

  5. uva1658 admiral

    费用流. 裸的拆点最小费用流,一跑就行. 核弹预警,为何wa20多发.build函数一定要返回true...... 太可怕了 #include<cstdio> #include<al ...

  6. UVa 10213 (欧拉公式+Java大数) How Many Pieces of Land ?

    题意: 一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 分析: 首先紫书上的公式是错的,不过根据书上提供的思路很容易稍加修改得到正确答案! 然后推公式吧,这里用到平面图的欧拉公 ...

  7. ↗☻【HTML5秘籍 #BOOK#】第1章 HTML5简介

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  8. 【转】如何下载并编译Android4.0内核源码goldfish(图文)

    原文网址:http://blog.csdn.net/flydream0/article/details/7070392 关于如何下载Android4.0源码,请查看我的博客内另一篇文章(同样是图文教程 ...

  9. [转] Envelop

    xiaohaidepoli原文Envelop Envelope也称包络线,是一个矩形区域,是每个几何形体的最小外接矩形.每个Geometry都拥有一个Envelope,包括Envelope自身. 它定 ...

  10. [Everyday Mathematics]20150102

    设 \[ a_1=3,\quad a_{n+1}=\dfrac{1}{2}(a_n^2+1)\quad(n=1,2,\cdots). \] 试求 \[ \vsm{n}\dfrac{1}{1+a_n}. ...