由于某种原因,需要做一个控制grid列显示的checkboxgroup,虽然EXTJS4中的gridpanel自带列表可以来控制列的显示隐藏,但是有这样的需求(需要一目了然) 下面先上图 接着前几天做的工作,今天上午完成了定制字段,思路是在上面的普通查询或者高级查询结束以后,获得了列的fields,columns等信息,然后交给一个处理函数 makeCustomMadePanel,该函数用来生成checkboxgroup,生成的时候给它加上一个事件,原本以为checkbox会有类似于check的事件,结果API看了看貌似只有个change事件可以用,MD。。 下面贴下自己写的 makeCustomMadePanel函数。。用来根据grid的列自动生成checkboxgroup(整个grid的标头内容等信息均从后台得到,不管后台发来一个什么表,都能生成一个checkboxgroup来控制列的隐藏显示) 参数分别是gridpanel在reconfigure的时候用到的fields和columns,期中的var t=grid_a.columnManager.headerCt.items.get(th.itemId);是关键。。这句用来获得grid_a的列信息。。貌似在api中查不到。网上找了几中方法都不适合。又不想给每个列一个ID。这是在stackoverflow.com/上找到的。。 在给出customMadePanel 我这种做法的不足也很明显,makeCustomMadePanel函数中的循环生成checkbox组件太耗时了,个组件足足花了好几秒。。用户体验肯定不好。。 并且目前是在每次查询完之后都根据查询的结果生成一遍。。。我再想想好的解决办法 今天对makeCustomMadePanel做了优化,生成组件的速度与先前相比提升非常明显! 思路就是先循环组好需要生成的组件对象,然后一次add,每一次add的开销非常大,变为一次速度真的提升了很多很多~
推荐整理分享ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
ExtJS4给Combobox设置列表中的默认值示例 这个是modelExt.regModel('commemModel',{fields:['name','id']});定义一个store设置id为s1的容器的默认值是第一季度vargjcx1=newExt.data.Store({autoLoad:true,model:commemModel,proxy:{ty
ExtJS4利根据登录后不同的角色分配不同的树形菜单 继续我的上一篇,设置好cookie后,将他们取出来varuserName=Ext.util.Cookies.get('userName');varuserAuthority=Ext.util.Cookies.get('userAuthority');//0,1,2接下来就可以用了//树
Extjs 4.x 得到form CheckBox 复选框的值 CheckBox(复选框)主要用来接收用户选择的选项如图所示(请忽略UI的不好看):该弹出窗口的主要代码如下:varwin=newExt.Window({modal:true,title:'确定要拒