这是我的第一个问题,所以我会尽力向自己解释。
使用ajax和json我正在做一个只有第一列和总列固定的动态网格。中间的列(比方说几个月)。变量在2-24之间,每月2次。 所以在java中,一旦我知道了飞蛾的数量,我就创建了一个带有colNames数组的json对象,另一个带有colModels数组。 事实是我需要将一个组标题放两列(每月1列)。但是执行组标题的循环无法正常工作。
var col_names = [];
var col_model = [];
var col_group = [];
var col_index = [];
$.ajax({url: 'JsonServFactModel.action?'+params,
success: function(data) {
col_names = data.names;
col_model = data.model;
col_group = data.groups;
col_index = data.index;
alert(col_model);
alert(col_index);
jQuery('#gridServFactId').jqGrid({
url:'JsonServFactList.action?'+params,
datatype:'json',
mtype:'POST',
colNames: col_names,
colModel: col_model,
jsonReader : {
root:'gridModelToShow',
repeatitems:false,
id:'cdServFact'
},
width: 790,
emptyrecords:'Sin registros',
rowNum:10,
rowList:[10,15,20],
pager: '#gridServFactPager',
sortname: 'cdServFact',
viewrecords: true,
sortorder: 'asc',
shrinkToFit: false,
caption: 'Servicios Facturados',
height: '100%'
, onSelectRow : function(row_id){
var values = jQuery("#gridServFactId").getRowData(row_id);
showHideEdit(values['cdServFact']);
}
});
$('.ui-jqgrid-title').css('width', '98%');
//??? no se que hacen ¿¿¿¿¿¿
$(".ui-jqgrid-labels").css('font-size','10px');
$(".ui-pg-table").css('font-size','10px');
//Saco los botones genericos de la grilla
$("#gridServFactId").navGrid('#gridDifConciliaPager',{refresh:false,edit:false,add:false,del:false,search:false});
//Reload de la tabla para el display de los datos cargados
$('#gridServFactId').trigger('reloadGrid');
addButtonsToServFactGrid();
alert(col_index.length);
alert(col_index);
for (var i = 0; i < col_index.length; i++) {
//Do grouping
jQuery("#gridServFactId").jqGrid('setGroupHeaders', {
useColSpanStyle: false,
groupHeaders:[
{startColumnName: col_index[i], numberOfColumns: 2,
titleText: col_group[i]} ]
});
}
}
});
json对象包含 (想象他们就像一个数组) col_names = Descripcion, Producto1,Remitos1, Producto2,Remitos2, Productos Total,Remitos Total
col_model = [{name:'cdProd',index:'mes1',width:100,align:'left',hidden:false}, {name:'ctServFactMes1',index:'ctServFactMes1',width:100,align:'right',hidden:false}, {name:'ctRemitosMes1',index:'ctRemitosMes1',width:100,align:'right',hidden:false}, {name:'ctServFactMes2',index:'ctServFactMes2',width:100,align:'right',hidden:false}, {name:'ctRemitosMes2',index:'ctRemitosMes2',width:100,align:'right',hidden:false}, {name:'ctServFactTotal',width:100,align:'right',hidden:false}, {name:'ctRemitosTotal',width:100,align:'right',hidden:false}]
col_index = ctServFactMes1,ctServFactMes2,ctServFactTotal
col_groups = Mes1,Mes2,Totales
组标题为每个标题生成一行,我会发布一张图片,但没有足够的声誉
| | | | headT |
| | head1 | | |
| PRODUCT | prod0 | rem0 | prod1 | rem1 |<br>
我认为问题来自多次调用
jQuery("#gridServFactId").jqGrid('setGroupHeaders', {
....
});
有没有办法做这个dinamycally?