可能重复:
how to show/ hide column in a grid panel
在ext js网格中,我需要隐藏/显示基于cond = true/ false的列。
我可以动态设置列的“隐藏”属性吗?
发布于 2011-03-21 05:31:46
可以使用beforerender事件隐藏列。在调用呈现函数以显示网格之前调用该事件。事件函数采用param,即网格本身。从这个网格对象中,您可以获得网格的列模型,并调用setHidden方法来隐藏适当的列。从网格对象中,您还可以获得附加到网格上的存储以供检查。
下面是代码的实现方式:
listeners: {
'beforerender' : function(grid) {
store = grid.getStore();
if(your-condition) {
cm = grid.getColumnModel();
cm.setHidden(0,true);
}
}
}发布于 2012-02-04 14:37:20
当存储加载时,您可以检查和隐藏:
store.load({
callback: function(){
// access raw json data and check some columns to hide or not
if(store.getProxy().getReader().rawData.myColumn.hide) {
grid.columns[1].setVisible(false);
}
if(store.getProxy().getReader().rawData.myAnotherColumn.hide) {
grid.columns[4].setVisible(false);
}
}
});发布于 2011-03-21 03:26:51
如果($(‘.selector’).is(‘:隐藏’){ your_code }
http://api.jquery.com/hidden-selector/
https://stackoverflow.com/questions/5373425
复制相似问题