`
zccst
  • 浏览: 3319577 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ExtJS之Store

 
阅读更多
据目前所知:Store至少分为两类,一个是SimpleStore,另一个是JsonStore。

1,用在gridPanel中常使用SimpleStore
var store_stat = new Ext.data.SimpleStore({ 
            fields:[
            {name:'date',mapping:'date'}
            ,{name:'model',mapping:'model'}
            ,{name:'per',mapping:'per'}
            ]
        });


2,填充表单中的下拉菜单(combo),常用JsonStore。
(1)简单JsonStore
var data=[{'id':1,'name':'小王','sex':'男'},
			  {'id':2,'name':'小李','sex':'男'},
			  {'id':3,'name':'小兰','sex':'女'},
			  ];
	
	var store = new Ext.data.JsonStore({
			data:data,
			fields:['id','name','sex']
		});


批注:当时静态数据时,fields可以是['id','name','sex'],
如果是通过url动态获取数据是,必须是fields:[{name:'id'},{name:'suit'},{name:'type'}]


(2)通过url获取数据
例如,
var store_modellist2 = new Ext.data.JsonStore({
        fields:['model'],
        url:'api/fail.php',
        root:'data',
        baseParams:{action:'get_all_models'}
    });
    store_modellist2.load();

var combo_model2 = new Ext.form.ComboBox({
            width:100,
            editable:false,
            triggerAction:'all',
            allowBlank:false,
            store:store_modellist2,
            displayField:'model',
            value:"\u8BF7\u9009\u62E9\u673A\u578B",
            allQuery:"", //开启此项后,选择机型时将不再在此获取机型数据
            listeners:{
            'select' : function(obj, data, index){
                    var modelName = obj.getValue();
                    if(modelName !== "\u8BF7\u9009\u62E9\u673A\u578B"){
                        refresh_fail_chart(modelName);
                    }
                }
            }
            //,mode:'local'
        });


注:先后顺序不能颠倒。先JsonStore,后ComboBox。

(3)高级用法对比
//用法一
var jsonStore = new Ext.data.JsonStore({
    url: 'api/fail_parts_bydepart.php',
    listeners:{
	   'loadexception' : function(e){
	    alert(e.toString());
        }
    },
    fields: [
	{name: 'name'},
	{name: 'flash'},
	{name: 'percent'}
		
    ]
});


jsonStore.load({
	params:{
		'level'	: level,
		'department' : paras.department,
		'product': paras.product,
		'target': is_one,
		'suit':paras.suit,
		'model':paras.model,
		'part':paras.part,
		'dateStr':dateStr
	}
});

//用法二
var store = {
	'department' : new Ext.data.JsonStore({
		url: 'api/list_k.php?action=department',
		fields: ['name']}), 
	'product' : new Ext.data.JsonStore({
		url: 'api/list_k.php?action=product',
		fields: ['name']})
};

store.product.baseParams = {'department' : encodeURIComponent(data.data.name)};
store.product.load();


detailStore.on('beforeload', function() {
  detailStore.baseParams = {
  
  };
});


JS中encodeURIComponent函数用php解码
在JS中使用了encodeURIComponent对中文进行编码在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了

如果您觉得本文的内容对您的学习有所帮助,您可以微信:

分享到:
评论

相关推荐

    ExtJs中Store加载(load)时候提示信息

    以下是对如何在ExtJS中实现Store加载时显示提示信息的详细解析。 ### Store加载时显示提示信息 在ExtJS中,`Store`对象负责从服务器获取数据并存储到客户端,供应用程序使用。为了在加载数据时给用户提供反馈,...

    storebar extjs通过store实现toolbar

    在EXTJS这个强大的JavaScript框架中,`Store`和`Toolbar`是两个核心组件,它们分别用于数据管理和用户界面的交互。本篇文章将深入探讨如何利用`Store`来实现`Toolbar`的功能,即所谓的`Storebar`,这在EXTJS开发中是...

    extjs动态生成model、store、panel

    extjs动态生成model、store、panel;sql拼接等多种技术难点

    extjs4 对各类型store各种数据的读取 model 前台 等等

    根据提供的文件信息,本文将详细解析ExtJS 4中如何处理不同类型的Store及与之相关的数据操作、模型定义以及前端展示等内容。 ### ExtJS 4中的Store与数据管理 #### Store概念简介 在ExtJS 4中,Store是用于存储...

    Extjs4下的STOREMENU

    在ExtJS 4中,STOREMENU 是一种特定的功能,它将数据存储(Store)与菜单(Menu)相结合,提供了一种动态创建菜单项的方法,这些菜单项可以根据存储的数据进行更新。这种功能在需要根据用户权限或实时数据动态展示...

    EXTJS4自学手册

    EXTJS4自学手册——EXT数据结构组件(store) 三、Extjs布局 EXTJS4自学手册——EXT容器布局(Auto,Anchor,Absolute,Hbox) EXTJS4自学手册——EXT容器布局(Vbox,Accordion,Table,Column) EXTJS4自学手册——EXT...

    extJs3升级extjs4方案

    可以看到,ExtJS4 需要动态类定义,这样可以访问父类和定义 store 模型。 此外,ExtJS4 也改变了 Record 的定义。例如,在 ExtJS3 中,我们可以使用以下代码来定义一个 Record: ```javascript var PostStatus = ...

    Extjs4 关于Store的一些操作(加载/回调/添加)

    在EXTJS4中,Store是数据管理的核心组件,它负责管理数据集,包括加载、更新和缓存数据。本文将详细讲解如何处理Store的加载、回调以及如何在两个Store之间添加符合条件的记录。 1. **加载与回调问题** EXTJS4的...

    ExtJS grid过滤操作

    本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对本地store进行筛选。 1. **Grid过滤基础** - **Filter Model**:ExtJS Grid中的过滤功能基于Filter Model。每个列都可以有自己的过滤器,用户可以根据需要...

    extjs grid数据导出excel文件

    1. **获取Grid数据**:在EXTJS中,Grid的数据存储在Store对象中。要导出数据,我们需要先从Store中获取所有的记录。这可以通过调用`store.getData()`方法来完成,返回的是一个包含所有记录的数据对象。 2. **构建...

    extjsDemo(store grid form mvc模式等一些demo)

    Grid是ExtJS中最常用的组件之一,用于显示二维数据,通常与Store配合使用。在"extDemo"中,你可以学习到如何创建一个基本的Grid面板,设置列(columns),绑定Store,实现分页、排序和过滤功能。Grid还支持自定义行...

    Extjs4.2 Chart柱状图

    ExtJS 是一个强大的JavaScript应用程序框架,专用于构建富客户端Web应用。它提供了丰富的组件库,包括图表(Chart)功能,让开发者能够创建交互式的、数据驱动的可视化元素。在4.2版本中,ExtJS 的图表功能得到了...

    Extjs之旅-combox之远程加载数据

    本篇我们将深入探讨“Extjs之旅”中的一个关键组件——Combox(组合框),特别是其远程加载数据的特性。 Combox在ExtJS中是一个非常灵活的控件,它可以看作是下拉列表和文本输入框的结合体,用户可以输入文本搜索,...

    轻松搞定Extjs 带目录

    表格组件GridPanel是Extjs中的亮点之一,它不仅可以展示大量数据,还支持复杂的列模型和行操作。此外,GridPanel的分页功能和扩展组件如摘要行、可展开行、分组视图等,让数据的展示更加直观和易于管理。 通过学习...

    ExtJS框架下Store类的使用

    这是一个自己根据项目经验编写的文档,我希望使用者能够从文档中获取有关ExtJS的使用技术!

    EXTJS讲解个人项目经历

    EXTJS通过Store、Proxy和Model等机制,方便地进行AJAX请求,实现与服务器端的数据交换。 EXTJS是一个功能全面且强大的前端框架,适合开发复杂的企业级Web应用。通过深入理解EXTJS的组件模型、布局管理、数据绑定和...

    ExtJs3.0中Store添加 baseParams 的Bug

    在ExtJs 3.0版本中,用户遇到一个与`Store`对象的`baseParams`相关的bug。`baseParams`是ExtJs中的一个重要属性,它用于设置在每次加载`Store`时都会附加到请求的参数。这些参数通常用于传递服务器端需要的固定信息...

    深入浅析Extjs中store分组功能的使用方法

    1、在创建store时,需要设置groupField属性的值,即为需要分组的值 for example: JavaScript代码 Ext.define('Person', { extend: 'Ext.data.Model', fields: ['name', 'sex'] }); 在这个数据模型中,我们需要以...

Global site tag (gtag.js) - Google Analytics