运行addRowData时,jqGrid分组功能消失

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行addRowData时,jqGrid分组功能消失相关的知识,希望对你有一定的参考价值。

jqGrid的网站有关于如何使用分组功能的以下代码示例,它运行良好。


    $(document).ready(function(){
    var mydata = [
                {id:"1",invdate:"2010-05-24",name:"test",note:"note",tax:"10.00",total:"2111.00"} ,
                {id:"2",invdate:"2010-05-25",name:"test2",note:"note2",tax:"20.00",total:"320.00"},
    ....
            ];
          $("#list48").jqGrid({
            data: mydata,
            datatype: "local",
            height: 'auto',
            rowNum: 30,
            rowList: [10,20,30],
                colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
                colModel:[
                    {name:'id',index:'id', width:60, sorttype:"int"},
                    {name:'invdate',index:'invdate', width:90, sorttype:"date", formatter:"date"},
                    {name:'name',index:'name', width:100, editable:true},
                    {name:'amount',index:'amount', width:80, align:"right",sorttype:"float", formatter:"number", editable:true},
                    {name:'tax',index:'tax', width:80, align:"right",sorttype:"float", editable:true},      
                    {name:'total',index:'total', width:80,align:"right",sorttype:"float"},      
                    {name:'note',index:'note', width:150, sortable:false}       
                ],
                pager: "#plist48",
                viewrecords: true,
                sortname: 'name',
                grouping:true,
                groupingView : {
                    groupField : ['name'],
                    groupDataSorted:false, 
                    groupColumnShow:[true]
                },
                caption: "Grouping Array Data"
          });


但如果我删除:

data: mydata,

并使用addRowData构建网格:

$('#list48').addRowData("id", mydata);

分组消失了,有人遇到过类似的问题吗?能否请你帮忙?

谢谢!

答案

尝试在addRowData之后调用sortGrid。这对我有用。 sortGrid的语法位于http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods

var sortByColumnKey = 'StartDate';
$('#grid').jqGrid('sortGrid', sortByColumnKey, true);
另一答案

我也有同样的问题。只需触发'reloadGrid'就可以解决它。 $( '#电网')触发( 'reloadGrid')。

另一答案

$('#list48').addRowData("id", mydata);上添加行后不进行分组

您应该使用网格中添加的新数据重新分组。在向网格添加行后尝试此操作。

$('#list48').jqGrid('groupingGroupBy', 'name', {
                groupDataSorted:false, 
                groupColumnShow:[true]
});

以上是关于运行addRowData时,jqGrid分组功能消失的主要内容,如果未能解决你的问题,请参考以下文章

jqGrid 的 addRowData 挂起大量记录

使用jqGrid过程中出现的问题

JqGrid把数据行插入指定位置的方法addRowData

jqgrid 禁用默认客户端排序并手动处理

如何在jqgrid分组中保留展开/折叠状态?

jqgrid 分组,线条错位