关于EXT问题,求高手解答,,,,
想在外部得到下面代码中的subids与names,咋样得到???vargrid=newExt.grid.GridPanel({border:false,margins:'...
想在外部得到下面代码中的subids与names,咋样得到???
var grid = new Ext.grid.GridPanel({
border : false,
margins : '0 5 5 5',
store : datastore,
autoHeight : true,
id : "grid_grid",
cm : colM,
sm : sm,
title : '当前位置:审核工作>>布置任务',
style : "width:101.5%;magrin-left:200px;",
viewConfig : {
forceFit : true
},
loadMask : {
msg : "正在加载数据中,请稍候..."
},
tbar : [{
icon : '../img/caozuo.gif',
text : '操作选项:'
}, "-", {
text : "批量布置任务",
icon : '../img/script.gif',
handler : function() {
var selectM = grid.getSelectionModel();
var records = selectM.getSelections();
if (records.length == 0) {
Ext.Msg.alert("提示", "请选择学生!");
}
else
{
// var boo = addway();
addway();
var subids = "";
var names = "";
for (var i = 0; i < records.length; i++) {
var arr = records[i].data.addwork.split("@");
subids += arr[0] + ",";
names += arr[1] + ",";
}
subids = subids.substring(0, subids.length - 1);
names = names.substring(0, names.length - 1);
// Ext.Msg.alert("提示",boo);
}
} 展开
var grid = new Ext.grid.GridPanel({
border : false,
margins : '0 5 5 5',
store : datastore,
autoHeight : true,
id : "grid_grid",
cm : colM,
sm : sm,
title : '当前位置:审核工作>>布置任务',
style : "width:101.5%;magrin-left:200px;",
viewConfig : {
forceFit : true
},
loadMask : {
msg : "正在加载数据中,请稍候..."
},
tbar : [{
icon : '../img/caozuo.gif',
text : '操作选项:'
}, "-", {
text : "批量布置任务",
icon : '../img/script.gif',
handler : function() {
var selectM = grid.getSelectionModel();
var records = selectM.getSelections();
if (records.length == 0) {
Ext.Msg.alert("提示", "请选择学生!");
}
else
{
// var boo = addway();
addway();
var subids = "";
var names = "";
for (var i = 0; i < records.length; i++) {
var arr = records[i].data.addwork.split("@");
subids += arr[0] + ",";
names += arr[1] + ",";
}
subids = subids.substring(0, subids.length - 1);
names = names.substring(0, names.length - 1);
// Ext.Msg.alert("提示",boo);
}
} 展开
1个回答
展开全部
subids = subids.substring(0, subids.length - 1);
//加在这行后面
this.findParentByType(Ext.grid.GridPanel)._subids = subids;
//grid._subids即可取到这个值
说明下, 这个做法是在实例中添加一个属性. findParentByType是逐级向上查找容器树, 返回指定类型的容器实例. 你处理代码是在toolbar中的按钮的handler中, 该作用域中的this指针引用的是按钮本身, 按钮包含在toolbar容器中, toolbar包含在gridpanel容器中, 通过findParentByType方法即可找到grid对象.
这样有一个问题需要注意, 在你点按钮之前grid._subids = undefined, 可以在配置项中加一项 _subids: '', 这样实例创建完对象就已经有这个属性了, grid._subids = ''
另外, 如果在页面范围grid是单例引用的话, 改成grid._subids = subids;也是一样的
//加在这行后面
this.findParentByType(Ext.grid.GridPanel)._subids = subids;
//grid._subids即可取到这个值
说明下, 这个做法是在实例中添加一个属性. findParentByType是逐级向上查找容器树, 返回指定类型的容器实例. 你处理代码是在toolbar中的按钮的handler中, 该作用域中的this指针引用的是按钮本身, 按钮包含在toolbar容器中, toolbar包含在gridpanel容器中, 通过findParentByType方法即可找到grid对象.
这样有一个问题需要注意, 在你点按钮之前grid._subids = undefined, 可以在配置项中加一项 _subids: '', 这样实例创建完对象就已经有这个属性了, grid._subids = ''
另外, 如果在页面范围grid是单例引用的话, 改成grid._subids = subids;也是一样的
追问
在配置项中加一项 _subids: '' 指的是在哪加啊? 谢谢哈~~
追答
就是加到配置项对象的根就可以了
border : false,
margins : '0 5 5 5',
store : datastore,
autoHeight : true,
id : "grid_grid",
cm : colM,
sm : sm,
_subIds: '',
跟这些东西平级, 这个方法基本使用Ext所有的Component, 这个是比较简单快捷的做法, 当然如果是用到地方比较多, 还是考虑使用Ext的继承机制, 定义自己的Component类
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询