ExtJS GridPanel的ColumnModel 动态加载
var colM = "company,id,flyline";
var colMArr = colM.split(",");
var colLength = colMArr.length;
var colMArray = new Array();
for(var i=0; i<colLength; i++) {
colMArray[i] = {header:colMArr[i],width: 75,dataIndex:fieldArray[i]}
//此处的fieldArray[i]是fields的数据
}
//然后colMarray数组即是我们要动态构造的那个ColumnModel的参数,此处的动态的意
//思是colM可以从request中获取,然后用来动态创建header即表头信息,同
//理dataIndex也是一样的
var column = new Ext.grid.ColumnModel(colMArray);
//然后GridPanel中的制定cm属性值为column即可
var storeCpye = new Ext.data.GroupingStore({
proxy : new Ext.data.HttpProxy({
url : 'cxgl_cpye.app?dateTime=' + new Date().getTime() + '&subTranCode=list'
}),
reader : new Ext.data.JsonReader({
root : 'hstamcx',
totalProperty : "results",
fields : ["khbh","bankacc","fundacc","dxjgdm","cpdm","tazh"]
}),
sortInfo : {
field : 'cpdm',
direction : 'DESC'
},
groupField : 'cpdm'
});
var colMArray = new Array();
colMArray = [{header : "产品代码", dataIndex : "cpdm", width : 100},
{header : "代销机构代码", dataIndex : "dxjgdm", width : 100},
{header : "客户编号", dataIndex : "khbh", width : 100},
{header : "理财账号", dataIndex : "bankacc", width : 100},
{header : "客户资金账号", dataIndex : "fundacc", width : 100}
var colQd = new Ext.grid.ColumnModel(colMArray);
// GRID定义
var gridCpye = new Ext.grid.GridPanel({
id : 'cpye_grid',
title:'[产品余额]查询',
height : 800,
stripeRows : true,
bodyStyle : 'width:100%',
disableSelection : true,
cm : colQd,
viewConfig : {
forceFit : false
},
store : storeCpye,
iconCls : 'details',
animCollapse : true,
trackMouseOver : false,
loadMask : {
msg : '正在加载[产品余额]信息,请稍侯……'
},
//selModel : smQd,
selModel : new Ext.grid.RowSelectionModel({singleSelect:true}),
tbar : ['-',new Ext.form.Label({
text : '产品代码:'
}),new Ext.form.TextField({
id : 'cpdm',
name : 'cpdm',
width : 130
}),'-',new Ext.form.Label({
text : '代销机构代码:'
}), new Ext.form.TextField({
id : 'dxjgdm',
name : 'dxjgdm',
width : 130
}), '-', {
pressed : true,
text : ' 查 询 ',
iconCls : 'yes',
handler : selinfo
},'-',new Ext.Toolbar.Fill(),'-',new Ext.form.Label({
text : ' 查询方式: '
}),new Ext.form.Radio({
id:"cpdm_radio",
name : "select_method",
inputValue : "cpdm desc,dxjgdm desc",
checked : true,
boxLabel : " 产 品 "
}),
new Ext.form.Radio({
id:"dxjgdm_radio",
name : "select_method",
inputValue : "dxjgdm desc,cpdm desc",
boxLabel : "代销机构 "
}),'-'
],
bbar : new Ext.PagingToolbar({
pageSize : 20,
store : storeCpye,
displayInfo : true,
emptyMsg : '没有记录'
})
});
function selinfo(){
var cpdm_sel = Ext.get("cpdm").getValue();
var dxjgdm_sel = Ext.get("dxjgdm").getValue();
var select_method_sel = Ext.get("cpdm_radio").getValue();
if(document.getElementById("dxjgdm_radio").checked){
select_method_sel = Ext.get("dxjgdm_radio").getValue();
colMArray[0] = {header : "代销机构代码", dataIndex : "dxjgdm", width : 100};
colMArray[1] = {header : "产品代码", dataIndex : "cpdm", width : 100};
}else{
colMArray[0] = {header : "产品代码", dataIndex : "cpdm", width : 100};
colMArray[1] = {header : "代销机构代码", dataIndex : "dxjgdm", width : 100};
}
var params = {};
params.cpdm_sel = cpdm_sel;
params.dxjgdm_sel = dxjgdm_sel;
params.select_method_sel = select_method_sel;
//params.whereStr = " and feetype in ('1','2')";
storeCpye.baseParams = params;
colQd = new Ext.grid.ColumnModel(colMArray);
//gridCpye.reconfigure(storeCpye,colQd),
storeCpye.load({
callback : function(r, options, success) {
if (success == true){
gridCpye.reconfigure(storeCpye,colQd);
}else if (success == false) {
Ext.Msg.alert("错误", storeCpye.reader.jsonData.msg);
}
}
});
}
ExtJS GridPanel的ColumnModel 动态加载的更多相关文章
- ExtJS 4.1 TabPanel动态加载页面并执行脚本【转】
ExtJS 4.1 TabPanel动态加载页面并执行脚本 按照官方示例,可以动态加载页面,可是脚本不执行,于是查SDK.google,发现scripts需要设置为true,于是设置该属性,整个代码如 ...
- ExtJs中动态加载机制研究(转)
觉得写的太好了,怕弄丢了,转一下:http://extjs.org.cn/node/659 昨天我们team对于extjs的动态加载机制做了些深入研究,这里先share下controller加载的结果 ...
- Extjs-树 Ext.tree.TreePanel 动态加载数据
先上效果图 1.说明Ext.tree.Panel 控件是树形控件,大家知道树形结构在软件开发过程中的应用是很广泛的,树形控件的数据有本地数据.服务器端返回的数据两种.对于本地数据的加载,在extjs的 ...
- ExtJs 4.2.1 复选框数据项动态加载(更新一下)
最近在做博客项目,后台管理用的是ExtJs4.2.1版本,因为是初学所以在使用的时候也遇到不少的这样或那样的问题,也写了不少这方面的博客,今天要写的博客是关于复选框数据项动态的加载功能,以前也没用过, ...
- ExtJs 通过分析源代码解决动态加载Controller的问题
通过分析源代码解决动态加载Controller的问题 最近在研究ExtJs(4.2.0)的MVC开发模式,具体Extjs的MVC如何使用这里不解释,具体参见ExtJs的官方文档.这里要解决的问题是如何 ...
- 关于实现Extjs动态加载类的方式实现
Extjs4以前的版本没有动态加载类的方式,这样开发程序的时候加载很多的js会导致加载变慢,由于本人一直使用extjs3的版本进行开发,于是简单实现了一个动态加载类的管理器,使用方式与extjs4的方 ...
- Ext动态加载Toolbar
在使用Ext的GridPanel时候,有时候需要面板不用重新加载而去更新Store或者Toolbar,Store的方法有很多,例如官方api给我们提供的Store.load(),Store.reLoa ...
- ExtJS4 动态加载
由于有人说不要每次都调用ext-all.js,会影响性能,所以有考虑动态加载,动态加载时页面调用ext.js(4.0.7在调试时可考虑用ext-dev.js),然后在onReady之前调用 Ext.L ...
- ExtJS4.x动态加载js文件
动态加载js文件是ext4.x的一个新特性,可以有效的减少浏览器的压力,提高渲染速度.如动态加载自定义组件 1.在js/extjs/ux目录下,建立自定义组件的js文件. 2.编写MyWindow.j ...
随机推荐
- 编程六月定律 | 外刊IT评论网
编程六月定律 上周,我被迫对一个很老的项目做一些修改.麻烦是,当开始着手时,我真的记不清这个项目究竟有多老了. 这实际上是我使用Codeigniter实现的第一个MVC项目.打开项目文件后,很多东西都 ...
- Emacs 启动优化二三事
Emacs 启动优化二三事 */--> div.org-src-container { font-size: 85%; font-family: monospace; } p {font-siz ...
- c语言双向循环链表
双向循环链表,先来说说双向链表,双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱.所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继 ...
- 一步一步学习IdentityServer4 (7) IdentityServer4成功配置全部配置
auth.liyouming.com 全部配 public class Startup { public Startup(IConfiguration configuration) { Configu ...
- loadrunner学习笔记之参数设置
一.关于参数的定义 在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本.函数中参数的值就是在录制过程中输入的实际值. 例如,你录制了一个Web应用程序的脚本.脚本生成器生成了一个声明,该 ...
- 使用setsid替代nohup
使用setsid替代nohup 使用 nohup 执行sudo -e时会有问题的.
- 004 Hadoop2.x基础知识
一:大数据应用 1.Cloudera cloudera公司是Hadoop三大发行商之一,其版本为CDH版本,现在最新的版本是CDH5. 网站:http://archive.cloudera.com/c ...
- Linux下的文件与目录权限
一.用户(User).群组(Group)和其他人(Others) linux是多用户多任务的操作系统,同一时刻可能会有多个用户登录系统,考虑到文件的安全性等问题,所以Linux下的文件都属于一个特定的 ...
- hdoj2544 最短路(Dijkstra || Floyd || SPFA)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2544 思路 最短路算法模板题,求解使用的Dijkstra算法.Floyd算法.SPFA算法可以当做求解 ...
- 模拟界面请求到web服务器
客户端 package com.lsw.client; import java.io.*; import java.net.*; import java.util.*; public class HT ...