2013-05-06 89 views
1

我想更改我的網格列標籤,但我必須不通過它們的名稱來完成。有沒有辦法通過列位置或通過jsonmap來更改標籤?任何其他方式?jqgrid設置標籤不按列名稱

在此先感謝。

+0

看看[答案](http://stackoverflow.com/a/16288582/315935)。它提供的代碼顯示瞭如何動態更改列標籤。 [演示](http://www.ok-soft-gmbh.com/jqGrid/DynamicHeaderProperties.htm)中的標籤文本是從服務器返回的JSON數據的一部分。 – Oleg 2013-05-06 11:13:12

回答

4

tpeczek的答案基於jqGrid的文檔,但它不是更正確。在代碼中進行一些更改後,不能使用更多的列位置作爲setLabel方法的參數(請參見the source code)。所以你必須提供列的名稱。如果你只有位置,你可以得到colModel並獲得陣列colModel的相應元素的name屬性:

var iPos = 3, // the position of the column 
    $grid = $("#gridId"), 
    colModel = $grid.jqGrid("getGridParam", "colModel"); 

$grid.jqGrid("setLabel", colModel[iPos].name, "New Label"); 

我建議你還讀the answer,我提供的代碼允許在JSON輸入設置標籤的網格。 The demo演示了這種方法。

+0

感謝您的回答:) – 2013-09-21 08:23:16

+0

@MojtabaPourmirzaei:不客氣! – Oleg 2013-09-21 10:51:17