jqGrid笔记

jqGrid笔记
api网站链接:https://blog.mn886.net/jqGrid/
1. get
1.1 获取所有数据

$("#jqGrid").getRowData();

1.2 获取所有id

var ids = $('#jqGrid').getDataIDs();

1.3 获取第一行

var rowData = $("#jqGrid").getRowData(ids[0]);

1.4 获取指定行

var rowData = $("#jqGrid").jqGrid('getRowData',id);

1.5 获取选中行数据

var id = $("#jqGrid").jqGrid("getGridParam", "selrow");  
var rowData = $('#jqGrid').jqGrid('getRowData',id);
rowData.status;  //获取指定字段

2. 查询

$("#jqGrid").jqGrid({
	url : '${ctx}/queryTableList',
	postData : {
		idpath : idpath
	},
	mtype : "POST",
	styleUI : 'Bootstrap',
	datatype : "json",
	cache : false,
	colModel : 
		[ 
		  {label : '',name : 'id',hidden : true},
          {label : '收入方',name : 'corgname',width : 150,formatter:function(cellvalue){return "";}}
	    ],
	rownumbers:true, //true 显示行号
	multiselect : false,
	viewrecords : true,//是否显示行数 
	height : "auto",
	autowidth : true,
	shrinkToFit : true,
	rowNum : 10,
	autoScroll : false,
	rowList : [ 10, 20, 30 ],//可调整每页显示的记录数 
	pager : "#jqGridPager", //分页工具栏  
	pagerpos : 'left'
});

3. 嵌套子表格

function queryTable() {
	$("#jqGrid").jqGrid({
		url : '${ctx}/income',
		postData : {
			startDate : start,
			endDate : end
		},
		mtype : "POST",//ajax的提交方式,默认是get
		styleUI : 'Bootstrap',
		datatype : "json",//服务端返回的类型
		cache : false,
		colModel : 
			[ 
			  {label : '',name : 'id',hidden : true},
              {label : '收入方',name : 'orgname',width : 150}
		    ],
		multiselect : false,
		subGrid : true,//开启子表格支持
		subGridRowExpanded : function(subgrid_id, row_id) {
			//子表格容器的id和需要展开子表格的行id
			openSubGrid(subgrid_id, row_id);
		},
		viewrecords : true,//是否显示行数 
		height : "auto",
		beforeRequest : function() {
			$.ajax({
				url : "${ctx}/dictionary/paymentMethod",
				type : "get",
				data : {
				},
				async : false,
				dataType : "json",
				success : function(data) {
					console.log(data);
				},
				error : function(data) {
				}
			});
		},
		autowidth : false,
		shrinkToFit : true,
		rowNum : 10,
		autoScroll : false,
		rowList : [ 10, 20, 30 ],//可调整每页显示的记录数 
		pager : "#jqGridPager", //分页工具栏  
		pagerpos : 'left'
	});
}

function openSubGrid(subgrid_id, rowid) {//开启子表格
	var subgrid_table_id = subgrid_id + "_t";//获取子表格的id
	var subgrid_paper_id = subgrid_id + "_pgr";//获取子表格的paper的id
	//动态添加子报表的id和paper
	$("#" + subgrid_id).html("");
	$("#" + subgrid_table_id).jqGrid({
		url : '${ctx}/incomeDetail',
		postData : {
			id : rowid
		},
		mtype : "POST",
		styleUI : 'Bootstrap',
		datatype : "json",
		cache : false,
		colModel : 
			[ 
	            {label : '',name : 'id',hidden : true}, 
				{label : '名称',name : 'name',width : 100,sortable : false}, 
				{label : '单价',name : 'price',width : 100,sortable : false,formatter:function(cellvalue){return "";}}
			],
		multiselect : false,
		viewrecords : true, 	//是否显示行数 
		height : "auto",
		autowidth : false,
		shrinkToFit : true,
		rowNum : 10,
		autoScroll : false,
		rowList : [ 10, 20, 30 ],//可调整每页显示的记录数 
		pagerpos : 'left'
	});
}

4. 重新加载
4.1 带参数

$("#jqGrid").jqGrid('setGridParam',{    
    datatype:'json',    //返回的数据类型
    postData:{			//请求的参数
	    startDate:start,
	    endDate:end
    },  
    page:1    			//请求的页数
}).trigger("reloadGrid");  

4.2 不带参数的简写

$("#jqGrid").trigger("reloadGrid");

5. 事件
5.1 选中行onSelectRow

onSelectRow: function(id,status){
}

5.2 加载完成loadComplete

loadComplete:function(data){
	// 设置第一行选中
	var ids = $('#jqGrid').getDataIDs();
    $("#jqGrid").jqGrid('setSelection',ids[0]);
}

6. 多级表头
6.1 设置二级表头
CSS


页面

JS


6.2 多级表头时,设置表头宽度

$('#gbox_table').find('th:eq(1)').each(function() {
	$(this).css('width', "40px");
});

$('#table tr').find('td:eq(1)').each(function() {
	$(this).css('width', "40px");
}) 

7. 其他
7.1 jqGrid单元格内容自动换行

1、设置样式
 .colCss{
	  white-space: normal !important; 
	  height:auto;
  }
2、给列加个属性classes,使classes=‘colCss’

你可能感兴趣的:(前端)