Я новичок в jqGrid, я хочу сгенерировать groupHeaders динамическим способом, но он действительно сработал. Оператор getValues ('department') представляет собой анализ отдела, который вводит пользователь, например 'a, b, c'. Код в тексте:jqGrid groupHeaders проблемы
function search() {
var startDate = $('#startDate').val();
var endDate = $('#endDate').val();
var department = getValues('department');
var colName = new Array();
var colAttr = new Array();
colName[0] = "日期";
colAttr[0] = "{name:'" + colName[0] + "',sortable:false,align:'center'}"
var length = getLength(department);
for (var i = 1; i < length + 1; i++) {
colName[2 * i - 1] = "咨询" + i;
colName[2 * i] = "投诉" + i;
colAttr[2 * i - 1] = "{name:'" + colName[2 * i - 1] + "'index:'" + i + "',sortable:false,align:'center'}";
colAttr[2 * i] = "{name:'" + colName[2 * i] + "',sortable:false,align:'center'}";
}
var header = mySplitter(department);
var urlStr = '<%=jspName%>?startDate=' + startDate + '&endDate=' + endDate + '&action=query&department=' + department;
urlStr = encodeURI(urlStr);
jQuery("#dataGrid").clearGridData();
jQuery("#dataGrid").GridUnload();
jQuery("#dataGrid").jqGrid({
url: urlStr,
datatype: "json",
colNames: colName,
colModel: colAttr,
height: 450,
rowNum: 20000, //默认每页记录数
rowList: [10, 20, 30], //可选择的每页记录数
pager: '#dataPager',
shrinkToFit: true,
hidegrid: false,
emptyrecords: "暂无数据",
viewrecords: true,
loadonce: true, //自动翻页
caption: "<%=title%>"
});
jQuery("#dataGrid").jqGrid('navGrid', '#dataPager', {edit: false, add: false, del: false, autowidth: true});
$("#dataGrid").setGridWidth($(window).width() * 0.90);
jQuery("#dataGrid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders: header
});
}
function mySplitter(str) {
if (str === null) {
return null;
}
var temp;
temp = str.split(",");
var result = new Array();
for (var i = 0; i < temp.length - 1; i++) {
result[i] = "{startColumnName: '" + (i + 1) + "', numberOfColumns: 2, titleText: '" + temp[i] + "'}";
}
return result;
}
function getLength(str) {
if (str === null) {
return 0;
}
var temp = str.split(",");
return temp.length - 1;
}
Код не генерировал groupHeaders. Кто-нибудь может мне помочь?
Спасибо за вас ответы! Я попробую снова. – user2926672