ExtJS问题,帮忙解决一下,谢谢。 在下初学Ext 请各位帮帮忙 小弟在此谢过了~~需求: 一个表格grid,然后用一个下拉框控制表格每一列的显隐。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Ext.onReady(function() { // Combox 定义开始 var years = [["3", "显示所有"], ["0", "显示A列"], ["1", "显示B列"], ["2", "显示C列"]]; var proxy = new Ext.data.MemoryProxy(years); var yearInfo = new Ext.data.Record.create([{ name : 'yId', type : 'String', mapping : 0 }, { name : 'yName', type : 'String', mapping : 1 }]); var reader = new Ext.data.ArrayReader({}, yearInfo); var store = new Ext.data.SimpleStore({ fields : ['yId', 'yName'], data : years, reader : reader, autoLoad : true }) var com = new Ext.form.ComboBox({ triggerAction : 'all', emptyText : '请选择', store : store, displayField : 'yName', hiddenNmae : 'cyear', valueField : 'yId', width : 150, mode : 'local', fieldLabel : '显隐练习', value : "", id : 'id', listeners : { // 监听select事件 'select' : function(com, index) { var val = com.getValue(); var cm = Ext.getCmp('grid').getColumnModel(); // 拿到grid的cm if (val == 3) {// 控制显隐部分 cm.setHidden(0, false);// 该方法两个参数 列index 和 是否隐藏 cm.setHidden(1, false); cm.setHidden(2, false); } else { cm.setHidden(val, true); } } } }) // Combox 定义结束 // 定义大panel var form = new Ext.FormPanel({ title : "grid练习", frame : true, autoHeight : true, applyTo : Ext.getBody(), layout : "form", items : [com] }) // grid开始 var arr = [['a1', 'b1', 'c1'], ['a2', 'b2', 'c2'], ['a3', 'b3', 'c3']]; var reader = new Ext.data.ArrayReader({}, [{ name : 'A' }, { name : 'B' }, { name : 'C' }]); var store = new Ext.data.Store({ reader : reader }); store.loadData(arr); var col = new Ext.grid.ColumnModel([{ header : 'A列', hidden : false, dataIndex : 'A' }, { header : 'B列', hidden : false, dataIndex : 'B' }, { header : 'C列', hidden : false, dataIndex : 'C' }]); var grid = new Ext.grid.GridPanel({ el : Ext.getBody(), height : 200, width : 400, id : 'grid', store : store, cm : col }); grid.render(); // grid结束}) 问下这样做是否有可能被注入怎么防 jqgrid获取不到json,写的没错啊 键盘回车事件? 请教一个javascript 的问题 层定位的问题(浮动层) 关于文本域内的输入文字及时计算问题 请教在Javascript里的with()函数是干什么的 (求救)知道表名如何差别表中"radio"按钮所择项???(以后补分) 请问:在xslt样式表中书写js语句把js的保留字当做无效字符怎么办,比如<小于号。? 请问怎么监视用户在页面上的所有动作? 在线等:求高手帮我修改个jquery的图片轮换代码 为什么引用jquery-1.4.4.js后有提示了
// Combox 定义开始
var years = [["3", "显示所有"], ["0", "显示A列"], ["1", "显示B列"], ["2", "显示C列"]];
var proxy = new Ext.data.MemoryProxy(years);
var yearInfo = new Ext.data.Record.create([{
name : 'yId',
type : 'String',
mapping : 0
}, {
name : 'yName',
type : 'String',
mapping : 1
}]); var reader = new Ext.data.ArrayReader({}, yearInfo);
var store = new Ext.data.SimpleStore({
fields : ['yId', 'yName'],
data : years,
reader : reader,
autoLoad : true
})
var com = new Ext.form.ComboBox({
triggerAction : 'all',
emptyText : '请选择',
store : store,
displayField : 'yName',
hiddenNmae : 'cyear',
valueField : 'yId',
width : 150,
mode : 'local',
fieldLabel : '显隐练习',
value : "",
id : 'id',
listeners : {
// 监听select事件
'select' : function(com, index) {
var val = com.getValue();
var cm = Ext.getCmp('grid').getColumnModel(); // 拿到grid的cm
if (val == 3) {// 控制显隐部分
cm.setHidden(0, false);// 该方法两个参数 列index 和 是否隐藏
cm.setHidden(1, false);
cm.setHidden(2, false);
} else {
cm.setHidden(val, true);
} }
}
})
// Combox 定义结束
// 定义大panel
var form = new Ext.FormPanel({
title : "grid练习",
frame : true,
autoHeight : true,
applyTo : Ext.getBody(),
layout : "form",
items : [com] })
// grid开始
var arr = [['a1', 'b1', 'c1'], ['a2', 'b2', 'c2'], ['a3', 'b3', 'c3']];
var reader = new Ext.data.ArrayReader({}, [{
name : 'A'
}, {
name : 'B'
}, {
name : 'C'
}]);
var store = new Ext.data.Store({
reader : reader
});
store.loadData(arr);
var col = new Ext.grid.ColumnModel([{
header : 'A列',
hidden : false,
dataIndex : 'A'
}, {
header : 'B列',
hidden : false,
dataIndex : 'B'
}, {
header : 'C列',
hidden : false,
dataIndex : 'C'
}]); var grid = new Ext.grid.GridPanel({
el : Ext.getBody(),
height : 200,
width : 400,
id : 'grid',
store : store,
cm : col
}); grid.render();
// grid结束
})