如何合并具有相同值的行

时间:2017-08-24 04:09:57

标签: javascript jquery jqgrid

function drawTable(url){

    $('#reportList').jqGrid({
        url: url,
        mtype: 'GET',
        datatype: 'json',
        shrinkToFit:false,
        width:null,
        colNames:['num', 'in_charge', 'section1','section2','product','product_description','status','rate','start_date','end_date','proceed_detail'],
        colModel:[
            {name:'num', index:'num', hidden:true},
            {name:'in_charge', index:'in_charge', hidden:true},
            {name:'section1', index:'section1',  width:70},
            {name:'section2', index:'section2', width:140},
            {name:'product', index:'product', width:80},
            {name:'product_description', index:'product_description', width:300},
            {name:'status', index:'status', width:45},
            {name:'rate', index:'rate', width:50},
            {name:'start_date', width:80, index:'start_date'},
            {name:'completion_date', width:80, index:'completion_date'},
            {name:'proceed_detail', index:'proceed_detail', width:400}
       ],

        pager: '#pager',
        multiselect: true,
        rownumbers: true,
        shrinkToFit:false,
        loadonce: true,
    });
}

我从服务器检索数据并在jqGrid中显示。

colModel中的第一个和第二个组件是隐藏组件。所以,' section1'是jqGrid中显示的第一个列组件。

多行可能具有相同的section1section2

所以,我想要做的是合并具有相同section1和section2的行。基本标记提供rowspan来合并行。

但是,jqGrid默认情况下从不提供该功能。我已经搜索了stackoverflow很长时间才找到解决方案,但是无法这样做。

1 个答案:

答案 0 :(得分:0)

  1. 使用' extraProperty '从服务器获取数据,如columnattr,其中包含合并rowspan的信息。因此,您必须根据您的要求更新服务器代码(只需添加列)。

    1. 在colmodel中为特定列添加属性'cellattr'并分配您的函数,该函数将决定从服务器数据的 extraProperty 获得rowspan。此功能允许您自定义网格中的单元格。所以在这里你可以合并一行。
  2. 参考:Jqgrid - grouping row level data

    Cheerssssss。