我有一个网格面板我需要显示/隐藏网格面板中的列,具体取决于复选框的值.如果选中该复选框,我需要在网格中显示列,如果未选中,我需要隐藏网格中的列.
这是我的代码
var chkEnableDisplayResponsibilityForAction = '<%=Session["chkEnableDisplayResponsibilityForAction"]%>';
var flags = Boolean.parse(chkEnableDisplayResponsibilityForAction);
var flags1 = !Boolean.parse(chkEnableDisplayResponsibilityForAction)
var colModel = new Ext.grid.ColumnModel([
{ header: "PricePlanID", width: 100, sortable: true, dataIndex: 'PricePlanID', hidden: flags, hideable: flags1 },
]);
Run Code Online (Sandbox Code Playgroud)
当我刷新页面时,我无法切换列,具体取决于复选框的值.但是当我登录并注销时,我能够看到网格面板中的更改.任何人都可以帮我刷新网格面板中的列值吗?
Rag*_*geZ 24
如果看一下ExtJS API,特别是ColumModel有一个setHidden
方法,它会隐藏/显示一个列GridPanel
.
myGrid.getColumnModel().setHidden(0, true);
Run Code Online (Sandbox Code Playgroud)
您还应该onchange
勾选复选框的事件,以便显示或隐藏列
Tom*_*Tom 12
在Ext JS 4.1中,要隐藏列,请使用:
grid.columns[0].setVisible(false);
Run Code Online (Sandbox Code Playgroud)
看起来getColumnModel()及其setHidden()方法不再是网格的一部分:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.grid.Panel