jqgrid动态显示 隐藏 指定列

本文介绍了两种jqgrid动态显示和隐藏指定列的方法。第一种是通过简单的JavaScript判断来控制列的显示状态。第二种是利用gridComplete或loadComplete事件来操作,推荐使用gridComplete,因为它在实际应用中更稳定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、最笨的方法 来判断

jsp页面

	<s:hidden id="sksj" name="sksj" value="%{sksj}"></s:hidden>
	<s:hidden name="skdd" id="skdd" value="%{skdd}"></s:hidden>
    
<div class="ui-grid-handle" id="resizeH">&nbsp;</div>
<table id="tabGrid"></table>
<div id="pager"></div> 

js

jQuery(function($) {
	var grid1 = $.extend(true, {}, BaseJqGrid, {
		resizeHandle: "#resizeH",
		pager 		: "#pager", // 分页工具栏
		datatype 	: "local",  // 点开页面不自动查询
                pager: null,//无分页工具栏
                url 		: _path + "/jczdgl/rwjczdsq_cxRdex.html",
		height		: "300px",
		colModel : [ 
			{label:'时间',name:'sksj', index: 'sksj',width:150,align:"center",sortable:false},
			{label:'地点',name:'jxdd', index: 'jxdd',width:150,align:"center",sortable:false},
	    ]
	});
	
	
	//加载表格
	$("#tabGrid").loadJqGrid(grid1);

	if(jQuery("#sksj").val()==0){
		$("#tabGrid").setGridParam().hideCol("sksj");
	}
	
	if(jQuery("#skdd").val()==0){
		$("#tabGrid").setGridParam().hideCol("jxdd");
	} 点开页面不自动查询
                pager: null,//无分页工具栏
                url 		: _path + "/jczdgl/rwjczdsq_cxRdex.html",
		height		: "300px",
		colModel : [ 
			{label:'时间',name:'sksj', index: 'sksj',width:150,align:"center",sortable:false},
			{label:'地点',name:'jxdd', index: 'jxdd',width:150,align:"center",sortable:false},
	    ]
	});
	
	
	//加载表格
	$("#tabGrid").loadJqGrid(grid1);

	if(jQuery("#sksj").val()==0){
		$("#tabGrid").setGridParam().hideCol("sksj");
	}
	
	if(jQuery("#skdd").val()==0){
		$("#tabGrid").setGridParam().hideCol("jxdd");
	}

通过

$("#tabGrid").setGridParam().hideCol("sksj");
$("#tabGrid").setGridParam().showCol("sksj");  

来进行控制

二、利用加载的方法  来操作。

	var TempGrid = $.extend(true,{},BaseJqGrid,{  
		resizeHandle:"#fixWidth",
		pager: "#pager", //分页工具栏  
	        multiselect:true,//显示复选框
	        shrinkToFit: true,
		rowNum : 15, // 每页显示记录数
		rowList : [15, 30, 50, 100], // 可调整每页显示的记录数
	        url: _path + '.html?doType=query', //这是Action的请求地址  
	        colModel:[
			
		{label:'工作流',name:'splmc', index: 'splmc',align:'left',width:'300px'},
		{label:'志愿',name:'zy', index: 'zy',align:'left',width:'80px'},
		],
		sortname: 'bmlbdm', //首次加载要进行排序的字段 
	 	sortorder: 'asc',
	 	loadComplete:function(){
	 		if ($("#fxezybmfs").val() == '0') {
	 			$("#tabGrid").hideCol("zy");
	 		}
	 	}
	});

不过 我实际使用中  建议使用 因为  loadComplete 好像有什么 问题,我给忘了,今天想起来 就改过来  最好 用gridComplete

         gridComplete:function(){
             if ($("#fxezybmfs").val() == '0') {
                 $("#tabGrid").hideCol("zy");
             }
         }

来控制

官方文档写

loadCompletexhr当从服务器返回响应时执行,xhr:XMLHttpRequest 对象

跟他一起经常用到的是

gridCompletenone当表格所有数据都加载完成而且其他的处理也都完成时触发此事件,排序,翻页同样也会触发此事件
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值