delRowData不会更新groupText中的rowcount

时间:2014-03-03 06:28:47

标签: jqgrid

我正在尝试使用正在使用分组功能的方法delRowData从jqgrid中删除一行。当我从jqgrid中删除一行时,它似乎没有更新groupText中的计数。以下是我试过的代码

<html>
<head>

<link rel="stylesheet" type="text/css" href="jquery-ui-custom.css" />
<link rel="stylesheet" type="text/css" href="ui.jqgrid.css" />

<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery-ui-custom.min.js" type="text/javascript"></script>
<script src="js/grid.locale-en.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.js" type="text/javascript"></script>
<script src="js/jquery.contextmenu.js" type="text/javascript"></script>
<script type="text/javascript">
    jQuery(document).ready(function(){
    var mydata = [ 
    {id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, 
    {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"}, 
    {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",tax:"30.00",total:"430.00"}, 
    {id:"29",invdate:"2007-09-01",name:"test3",note:"note3",amount:"450.00",tax:"40.00",total:"430.00"}, 
    {id:"4",invdate:"2007-10-04",name:"test",note:"note",tax:"10.00",total:"210.00"}, 
    {id:"5",invdate:"2007-10-05",name:"test2",note:"note2",tax:"20.00",total:"320.00"}, 
    {id:"6",invdate:"2007-09-06",name:"test3",note:"note3",tax:"30.00",total:"430.00"}, 
    {id:"7",invdate:"2007-10-04",name:"test",note:"note",tax:"10.00",total:"210.00"}, 
    {id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"21.00",total:"320.00"}, 
    {id:"19",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"40.00",total:"430.00"}, 
    {id:"11",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
    {id:"12",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
    {id:"13",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"35.00",total:"430.00"}, 
    {id:"14",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
    {id:"15",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
    {id:"16",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, 
    {id:"17",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
    {id:"18",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 

    {id:"21",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
    {id:"22",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
    {id:"23",invdate:"2007-09-01",name:"test3",note:"note3",amount:"450.00",tax:"30.00",total:"430.00"}, 
    {id:"24",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
    {id:"25",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
    {id:"26",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, 
    {id:"27",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
    {id:"28",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}

    ];

    jQuery("#list3").jqGrid({ data: mydata, 
    datatype: "local", 
    height: 400,
    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"}, 
    {name:'name',index:'name', width:100}, 
    {name:'amount',index:'amount', width:80, align:"right"}, 
    {name:'tax',index:'tax', width:80, align:"right"}, 
    {name:'total',index:'total', width:80,align:"right",sorttype:"float"}, 
    {name:'note',index:'note', width:150, sortable:false} 
    ], 
    rowNum:100, 
    rowList:[10,20,30], 
    pager: '#pager3', 
    sortname: 'amount asc, tax',
    viewrecords: true,
    sortorder: "asc",
    loadonce: true, 
    multiSort: true,
    grouping : true,
    groupingView : {
                    groupField : ['invdate'],
                    groupColumnShow : [false],
                    groupText : ['<b>{0} - ({1})</b>'],
                    groupCollapse : false,
                    groupOrder: ['asc'],
                    groupSummary : [false],
                    plusicon : 'ui-icon ui-icon-triangle-1-e',
                    minusicon : 'ui-icon ui-icon-triangle-1-s'
                },
    caption: "Load Once Example" 
    });

    jQuery("#deleteButton").click(function(){

    var rowid = $("#list3").jqGrid ("getGridParam", "selrow");
    jQuery("#list3").jqGrid("delRowData",rowid);
    });

    });
</script>

</head>
<body>
<table id="list3"></table>

<button id="deleteButton">Delete Row</button>
</body>
</html>

我希望我已经解释了我的问题。如果还有其他事情需要补充,请告诉我。

BTW我正在使用jqgrid版本:“4.5.4”

提前致谢

莫宾

1 个答案:

答案 0 :(得分:0)

我从trirand forum

获得了解决方案

我必须在行上调用delRowData之后销毁并重新创建分组。

jQuery("#list3").jqGrid('groupingRemove', true);
$('#list3').jqGrid('groupingGroupBy', 'invdate');