2013-10-10 47 views
0

我正在嘗試使用jpgGrid的setlabel方法以及setGroupHeaders。這是行不通的。但是當我刪除這setGroupHeaders,setLabel方法的作品,我能夠動態地改變我的列標題。無論如何都可以同時使用這兩種方法嗎?jqGrid的SetLabel方法以及setGroupHeaders

添加的代碼片段

$("#aGrid").jqGrid({ 
    shrinkToFit: false, 
    autowidth: true, 
    height: 305,  
    colNames: ['Parameter','T0','T1','T2','T3'], 
    colModel: [ 
     {name:"paramName",index:"paramName",width:115,sortable:false,frozen:true}, 
     {name:"t0",index:"t0",cellattr:myFormatter,hidden:false}, 
     {name:"t1",index:"t1",cellattr:myFormatter,hidden:false}, 
     {name:"t2",index:"t2",cellattr:myFormatter,hidden:false}, 
     {name:"t3",index:"t3",cellattr:myFormatter,hidden:false} 
    ], 
    viewrecords: true, 
    gridview: true, 
    sortable: false, 
    caption: "A Grid" 
}); 

$("#aGrid").jqGrid('setGroupHeaders', { 
    useColSpanStyle: true,      
    groupHeaders: [ 
     {startColumnName:'t0', 
     numberOfColumns:8, 
     titleText:'10.152.141.142'}] 
}); 

$.ajax({ 
    type : "get", 
    url : url, 
    dataType: "json", 
    contentType: "application/json", 
    success : function(responseText){ 
     for(var i=0;i<=responseText.length;i++) 
      { 
      if(i === 0){ 
       var newColHeaders = responseText[i]; 
       $("#aGrid").jqGrid('setLabel', "t0",newColHeaders['t0']); 
       $("#aGrid").jqGrid('setLabel', "t1",newColHeaders['t1']); 
       $("#aGrid").jqGrid('setLabel', "t2",newColHeaders['t2']); 
       $("#aGrid").jqGrid('setLabel', 't3',newColHeaders['t3']); 

      }else{ 
       $("#aGrid").jqGrid('addRowData',i+1,responseText[i]); 
      } 
     } 
    }, 
    error: function(xhRequest, ErrorText, thrownError){ 

    } 
}); 

如果我使用相同的代碼去除上面的代碼setGroupHeaders電話後,列標題更改按預期工作。

+0

你可以發佈你的嘗試代碼片段嗎? – Oleg

+0

以下是代碼段 –

+0

對不起,但我沒有看到任何代碼。您應該點擊問題下方的「編輯」按鈕,然後修改/附加問題的文本。 [Here](http://meta.stackexchange.com/a/22189/147495)可以閱讀如何在編輯器中對代碼進行格式化的技巧。 – Oleg

回答

1

此問題是由於您的組標題。 當您想要更改標題時,首先銷燬組標題,然後調用setLabel並再次重構組標題。

 $("#aGrid").jqGrid('destroyGroupHeader'); 

//現在更改標題的標籤

 $("#aGrid").jqGrid('setLabel', "to","ABC"); //colModel name value 

     constructGroupHeader(); 

構建組頭應該是這樣的

function constructGroupHeader() 
    { 
jQuery("#aGrid").jqGrid('setGroupHeaders', { 
    useColSpanStyle: true,      
    groupHeaders: [ 
     {startColumnName:'t0', 
     numberOfColumns:8, 
     titleText:'10.152.141.142'}] 
}); 
     } 

希望這有助於。