JqGrid随笔
所使用的版本信息
/*
* jqGrid 5.1.1
* Copyright (c) 2008, Tony Tomov, tony@trirand.com
* License: http://guriddo.net/?page_id=103334
*
* Modules: grid.base.js; jquery.fmatter.js; grid.common.js; grid.formedit.js; grid.filter.js; grid.inlinedit.js; grid.celledit.js; jqModal.js; jqDnR.js; grid.subgrid.js; grid.grouping.js; grid.treegrid.js; grid.pivot.js; grid.import.js; grid.utils.js; grid.jqueryui.js; jquery.sortable.js;
*/
1、多级表头 官网例子 http://www.guriddo.net/documentation/guriddo/javascript/user-guide/grouping/
1 $("#jqGrid").jqGrid('setGroupHeaders', { 2 useColSpanStyle:true,// 是否合并单元格 3 groupHeaders : [ 4 { "startColumnName":colNameA, "numberOfColumns":2, "titleText":'人数' }, //startColumnName:起始列的colName, numberOfColumns: 包含多少列, 5 { "startColumnName":colNameB, "numberOfColumns":4, "titleText":'占比' }, 6 { "startColumnName":colNameB, "numberOfColumns":5, "titleText":'过成' }, 7 ] 8 });
2、给表格添加隐藏的rowId行
{ label: "rowNum", name:"rowNum", width: 0, key: true, hidden: true},
3、给单元格添加背景色
{ label: '日期', name: 'date', width: 150, cellattr: this.fillLtvAndRetentionCellColor}
fillLtvAndRetentionCellColor: function(rowId, val, rawObject, cm, rdata){ if(cm.name.indexOf("num") == 0){ return "style='background:#ecf0f5'"; } if(cm.name.indexOf("asd") == 0){ return "style='background:#7bc0f2'"; } if(cm.name.indexOf("efg.") == 0){ return "style='background:#ffb980'"; } return ""; },
4、local模式
local的col排序 { label: '日期', name: 'ds', index: 'ds', width: 100, sorttype : "date", sortable: true}, { label: '新注册', name: 'dnu', fixed:'true', width: 150, sorttype: "int"},
sorttype : "date", sortable: true ------- sorttype的类型有 date,int,double等
还可以用 sorttype: function(value){return value;}, 这种来自定义排序
这个是字段格式化的formatter: function(value, options, row)
jQuery.jgrid.gridUnload("jqGrid");//清除表格
$("#jqGrid").jqGrid({
data:dataList, //local数据
scrollrows: true,
shrinkToFit: false,
datatype: "local", // local模式
colModel: cols,//通过方法传递的参数,就不详细写了
viewrecords: true,
//height: 370,
rowNum: 10,
rowList : [10,30,50],
rownumbers: false,
rownumWidth: 60,
autowidth: true,
multiselect: false,
width:$(window).width(),
footerrow : true, //跟页脚数据相关的配置
userDataOnFooter: true, //跟页脚数据相关的配置
sortname: 'day',
sortorder: 'desc',
pager: "#jqGridPager",
caption:"xxx",//表格的标题吧
localReader : {
total: function(object){ //分页,有多少页面
let rowNum = $('#jqGrid').getGridParam('rowNum');
return Math.ceil(totalCount/rowNum);
},
records: function(object){ return totalCount}, // 数据总条数
userdata: function(object){ return summary},//跟页脚数据相关的配置,页脚数据
},
gridComplete:function(){
// table字体水平居中
$("th").css({"text-align" : "center" });
$("td").css({"text-align" : "center" });
//跟页脚数据相关的配置,属于优化加了个显示合计俩字,把原来的透明背景改了下
let frozenEles = $('td[aria-describedby="jqGrid_day"]');
let frozen_foot = frozenEles[frozenEles.length - 1];
frozen_foot.innerHTML = "合计";
frozen_foot.style.backgroundColor = "#fff";
},
//双击行时触发。rowid:当前行id;iRow:当前行索引位置;iCol:当前单元格位置索引;e:event对象
ondblClickRow: function(rowid,iRow,iCol,e){
//双击时候的操作
}
});
$("#jqGrid").jqGrid("setFrozenColumns");//冻结列
//还可以进行多级表头,具体看上面第一个示例
},

浙公网安备 33010602011771号