2011-04-08 63 views
2

我的工作我的jqGrid的一些动态分组,每张贴在例如:http://www.trirand.com/blog/jqgrid/jqgrid.html(见树导航最后一节:“分组:动态更改分组”的jqGrid和动态分组

我可以使我的网格动态改变分组IFF,网格最初有一个分组列,但这不是所希望的行为,最初网格需要分组,并允许用户分组项目,如果他们选择

代码如下:

function onGroupByChanged(){ 
    var vl = $('#lstGroupBy').val(); 
    if(vl) { 
     if(vl == "clear") { 
      $("#refData").jqGrid('groupingRemove',true); 
     } else { 
      $("#refData").jqGrid('groupingGroupBy', vl); 
      $("#refData").jqGrid('setGridParam', { grouping:true }); 
      $('#refData').trigger('reloadGrid'); 
     } 
    } 
} 

当我将groupingGroupBy设置为列名(包含在'vl'中)时,我在FireBug中收到这个错误:无法将null转换为jQuery中的对象min 1.4.2

我甚至交换了我调用groupingGroupBy并将分组设置为true。

任何人有想法?我卡住了,已经花了大约两个小时了。

感谢, 兰德尔

回答

0

漠视。

在我的网格的初始化初始化中,为groupingView参数设置完整选项,同时设置分组:false取得了诀窍。

... 
    grouping: grouping, 
     groupingView : { 
      groupField : [groupColParam], 
      groupColumnShow : [true], 
      groupText : ['<b>{0}</b>'], 
      groupCollapse : true, 
      groupOrder: ['asc'], 
      groupSummary : [false] 
     }, 
... 
3
var GroupOption = new Object(); 
var groupField = []; 

groupField.push(vl); 

GroupOption.groupField = groupField; 
GroupOption.groupColumnShow = true; 
GroupOption.groupCollapse = false; 
GroupOption.groupText = ['<strong> {0} - {1} Item(s)</strong>'] 

$("#refData").setGridParam({groupingView : GroupOption}); 
$("#refData").setGridParam({grouping : true}); 
$("#refData").trigger('reloadGrid');