Extjs-动态拼装Store
来源:互联网 发布:原生js创建节点对象 编辑:程序博客网 时间:2024/04/29 09:40
动态拼装ArrayStore
1:定义Store
var result = [];//数据 var fieldStr = [];//列名 var store = Ext.create('Ext.data.ArrayStore', { fields : fieldStr, data : result });
2:在function()中拼接data和field
function getData() {result = [];fieldStr = [];var fp = queryForm; var queryParam = {}; var date = fp.getForm().getValues()["date"]; queryParam["date"] = date; var n = fp.getForm().getValues()["n"]; queryParam["n"] = n; Ext.Ajax.request({ url : WebPath + '/baobiao/findDuoKai', params : queryParam, method : "POST", success : function(response) { // 转换数据反回值为对象 var datas = Ext.decode(response.responseText); // 获取 开始日期 和 结束日期 var begin = CTU.Utils.parseDate(queryParam['date'][0]); var end = CTU.Utils.parseDate(queryParam['date'][1]);fieldStr.push('name');for (var i = begin; i <= end; i = i + 3600000 * 24) {fieldStr.push(Ext.Date.format(new Date(i), 'Y-m-d'));}// 转换数据反回值为对象var names = []; Ext.Array.each(datas["rows"], function(item, b) { var find = 0; for (var k = 0; k < names.length; k++) { if (names[k] == item['name']) { find = 1; } } if (find == 0) { names.push(item['name']); } });Ext.Array.each(names, function(name, b) { var result_obj = []; result_obj.push(name); for (var i = begin; i <= end; i = i + 3600000 * 24) { var isFind = 0; Ext.Array.each(datas["rows"], function(item, b) { if (name == item['name'] && i == CTU.Utils .parseDate(item['date'])) { result_obj.push(item['count']); isFind = 1; } }); if (isFind == 0) { result_obj.push(0); } } result.push(result_obj); }); store = Ext.create('Ext.data.ArrayStore', { fields : fieldStr, data : result }); store.removeAll(); store.loadData(result); } }); }
Extjs中创建Store数据源的方式
1.数组格式的数据:data只能是数组!——不能用JsonStore,否则报错!
var arrStore = new Ext.data.SimpleStore({ data:[ /*{id:1,name:"zs",age:22}, {id:2,name:"ls",age:23}, {id:3,name:"ww",age:24}*/注释掉的是json格式的,只能用JsonStore [1,"zs",22], [2,"ls",23], [3,"ww",24] ], fields:["id","name","age"]});
2.JSON格式的数据:data只能是json!——不能用SimpleStore,也不能用父类Store,否则报错!
var jsonStore = new Ext.data.JsonStore({ data:[ {id:1,name:"zs",age:22}, {id:2,name:"ls",age:23}, {id:3,name:"ww",age:24} ], fields:["id","name","age"]});
注意事项:
1.文本框赋值方式:
1
getForm().findField(“”).setValue(“”)
2.在Store中取record:
(1).取总记录records:store.data (注,此时若要取某下标记录,还得用records.get(i))
(2).取指定下标的record:store.getAt(i) (注:不是get(i)或者getById(i))
2.在record中取值方式:
(1).record.data.name
(2).record.data[“name”]
(3).record.get(“name”) (注意:这里比前两种少了data)
分析:record是一个数组,所以取值要用get,而record.data已经是一个对象了,所以可以直接用“.”
详情请参照:http://blog.csdn.net/liu78778/article/details/3942990
0 0
- Extjs-动态拼装Store
- listview拼装 item动态拼装
- Extjs根据store 动态创建图表
- Extjs store动态设置url路径问题
- Extjs gridpanel 动态修改store内容
- ExtJS store
- extjs store
- extjs store
- extjs store
- extjs store
- ExtJs store
- extjs store
- Extjs 动态修改Data.Store中的链接地址
- ExtJS 动态改变 Ext.data.store 的url 地址
- ExtJs常用数据源store
- ExtJs Store baseParams设置
- extjs之访问store
- Extjs 高级store
- OC内存管理
- UUID.randomUUID().toString()
- 热风枪概述和使用方法
- unity3d 模型换装系统
- Java 中Thread用法
- Extjs-动态拼装Store
- Qt数据库:(三)利用QSqlQuery类执行SQL语句(一)
- 推荐几款热门的敏捷开发工具
- 腾讯sdk的初始化和支付需要在同一线程调用 解决方法
- Linux用户与用户组的详解
- 图像sobel、laplacian、canny边缘检测算法基础实现
- Java的注释说明
- 文件分类,目录,
- [LeetCode][Java]Unique Binary Search Trees II