jqGrid动态col组

时间:2014-02-14 01:09:42

标签: javascript jquery json jqgrid

这是我的第一个问题,所以我会尽力向自己解释。

使用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?

0 个答案:

没有答案