extjs中在GridPanel上添加一个搜索框 (文本框+按钮)怎么实现啊。。

extjs中在GridPanel上添加一个搜索框 (文本框+按钮)怎么实现啊。。,第1张

直接配置到工具条tbar里就行了:

var grid = new Ext.grid.GridPanel({

id: "grid1",

title: "GridPanel实例",

renderTo: "div1",

width: 500,

height: 300,

frame: true,

tbar: [{xtype:'label',text:'请输入关键词:'},{xtype:'textfield',id:'KeyWord'},{text:'搜索',handler:function(){alert("搜索")}}

],

。。。。。//其它配置项

})

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也是一样的


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11179526.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存