Ext.override(Ext.data.Store,{
addField: function(field){
if(typeof field == 'string'){
field = {name: field};
}
this.recordType.prototype.fields.replace(field);
if(typeof field.defaultValue != 'undefined'){
this.each(function(r){
if(typeof r.data[field.name] == 'undefined'){
r.data[field.name] = field.defaultValue;
}
});
}
},
removeField: function(name){
this.recordType.prototype.fields.removeKey(name);
this.each(function(r){
delete r.data[name];
});
}
});
Ext.override(Ext.grid.ColumnModel,{
addColumn: function(column, colIndex){
if(typeof column == 'string'){
column = {header: column, dataIndex: column};
}
var config = this.config;
this.config = [];
if(typeof colIndex == 'number'){
config.splice(colIndex, 0, column);
}else{
colIndex = config.push(column);
}
this.setConfig(config);
return colIndex;
},
removeColumn: function(colIndex){
var config = this.config;
this.config = [config[colIndex]];
config.remove(colIndex);
this.setConfig(config);
}
});
Ext.override(Ext.grid.GridPanel,{
addColumn: function(field, column, colIndex){
if(!column){
if(field.dataIndex){
column = field;
field = field.dataIndex;
} else{
column = field.name || field;
}
}
this.store.addField(field);
this.colModel.addColumn(column, colIndex);
},
removeColumn: function(name, colIndex){
this.store.removeField(name);
if(typeof colIndex != 'number'){
colIndex = this.colModel.findColumnIndex(name);
}
if(colIndex >= 0){
this.colModel.removeColumn(colIndex);
}
}
});
使用方法:
var grid = new Ext.grid.GridPanel({
store: new Ext.data.SimpleStore({
fields: ['A', 'B'],
data: [['ABC', 'DEF'], ['GHI', 'JKL']]
}),
columns: [
{header: 'A', dataIndex: 'A'},
{header: 'B', dataIndex: 'B'}
]
});
new Ext.Viewport({
layout: 'fit',
items: grid
});
grid.addColumn('C');
grid.addColumn({name: 'D', defaultValue: 'D'}, {header: 'D', dataIndex: 'D'});
grid.removeColumn('B');
分享到:
相关推荐
使用ext.net代码动态创建gridpanel后任意显示在各种窗口中
NULL 博文链接:https://xiaohewoai.iteye.com/blog/409898
4、在工程中找到“main.js”文档,该文档中是控制应用显示GridPanel和TreePanel示例的开关 5、在IE的地址栏输入“http://localhost:8080/GridPanel”之后回车 6、如果一切正常,你会看到可以分页的表格;调整main.js...
NULL 博文链接:https://topbox163.iteye.com/blog/1276463
介绍了gridpanel动态加载数据的实例代码,有需要的朋友可以参考一下
主要介绍了ExtJs中gridpanel分组后组名排序实例代码,有需要的朋友可以参考一下
在 gridPanel中动态生成带按钮及查询条件的工具栏
主要解决GridPanel+TabPanel+ComboBox,动态生成数据,无须任何配置,并且大部分代码的实现都可通用,并且大量减免了在Html页面里静态配置数据列所带来的麻烦,这是很有用的技巧.为了大家更好的更方便的使用本示例,就...
本示例主要解决GridPanel+TabPanel+ComboBox,动态生成数据,无须任何配置,并且大部分代码的实现都可通用,并且大量减免了在Html页面里静态 配置数据列所带来的麻烦,这是很有用的技巧.为了大家更好的更方便的使用...
Ext 根据数据库返回json动态生成grid列表实例 完整代码
本示例主要解决GridPanel TabPanel ComboBox,动态生成数据,无须任何配置,并且大部分代码的实现都可通用,并且大量减免了在Html页面里静态 配置数据列所带来的麻烦,这是很有用的技巧.为了大家更好的更方便的使用...
在Extjs中的GridPanel会有这样的情况,隐藏列会显示在menuDisabled中,但是这个一般没有什么用处,只是用于后台取值的作用,感兴趣的朋友可以了解下啊,希望本文对你有所帮助
需要做一个控制grid列显示的checkboxgroup,虽然EXTJS4中的gridpanel自带列表可以来控制列的显示隐藏,需要的朋友可以参考下
extjs 综合配货系统是公司里面真实项目改编过来,很饿使用价值,里面包括动态树,treepanel and gridpanel组合开发
关于保存列表表头的配置,一般我们不需要与后台交互,直接保存在 localStorage 中就能... init: function (gridPanel) { var me = this; me.owner = gridPanel; //根据已有配置项设置表头状态 me.setColumnConfig
第二十五章:动态操作树节点 200 一、概述 200 二、基本操作 201 三、事件 203 四、小结 204 第二十六章:远程获取节点数据 205 一、 概述 205 二、异步加载解析 206 三、小结 212 第二十七章:选项卡面板——Ext....
基于.net 3.5开发 1、数据库可自己连接和查询,数据库类就不带入了 2、大家可在此基础上改为全屏编辑保存 3、需要引用coolite Extjs.net 1.0控件 可锁定列,列排序,点击主数据行显示子数据
本示例主要解决GridPanel+TabPanel+ComboBox,动态生成数据,无须任何配置,并且大部分代码的实现都可通用配置数据列所带来的麻烦,这是很有用的技巧.为了大家更好的更方便的使用本示例的表项目结构上使用三层,为了...
14.5 系统主页面与动态菜单 421 14.6 用户管理模块 427 14.7 角色管理模块 439 14.8 产品管理模块 447 14.9 进仓管理模块 450 14.10 出仓管理模块 460 14.11 库存统计模块 474 14.12 用户修改密码窗口 479 14.13 ...