日期:2014-05-16  浏览次数:20942 次

easyui的datagrid 在js中如何隐藏table字段
我想做成根据不同搜索条件,显示不同的字段。 有用过$('#devList').datagrid("hideColumn","unit_name");这种的可是非常卡


<script>
   function searchGrid(){ }

    
</script>
<html>
类型:<input name=""/>
<a class="easyui-linkbutton" iconCls="icon-search" onClick="searchGrid()">搜索</a>
<table  title="信息设备列表" id="devList"   url="<%=path%>/dev_getD.action">
<th  rowspan="2" field="dev_type"  align="left" width="100">设备类别</th> 
<th rowspan="2" field="dev_name"  align="left"width="100">设备名称</th>  
<th  rowspan="2" field="dev_type1"  align="left" width="100">设备类型</th>               
<th  rowspan="2" field="dev_mfrs"  align="left" width="100">设备厂家</th> 
<th field="A">A</th>
<th field="B">B</th>
<th field="C">C</th>
<th field="D">D</th>
<th field="E">E</th>
</table>
</html>
easyui jsp

------解决方案--------------------
引用:
不行啊,我把列改成0,和1也不行。
我那样写语法有错吗


如果你那个方法动态加载了数据源,要给datagrid配置onLoadSuccess事件,在事件里面进行隐藏
------解决方案--------------------
引用:
onLoadSuccess好像不能用,onLoadSuccess是要写在$(function(){}),$(function(){})是第一次加载时用到的,但是我的隐藏是在搜索时使用,搜索不会重新加载$(function(){})里面的内容,对吗?
我是新手不会用专业术语


onLoadSuccess这个是datagrid的事件,每次数据源更改加载到datagrid都会触发的$(function(){})只执行一次,这个是jquery注册的DOM加载完毕的事件,和datagrid无关
------解决方案--------------------
要显示或者隐藏的所有列都要在columns配置过,默认第一次不显示的列可以通过配置column项的hidden:true来控制

要不没配置过当然无法控制是否显示隐藏