2010-09-16 81 views
1

can see如何使用創建的jqGrid鏈接:只用ID創建的jqGrid鏈接

colModel: [ {name:'myname', 
      formatter:'showlink', 
      formatoptions:{baseLinkUrl:'someurl.php', addParam: '&action=edit'} 

這將創建像/someurl.php?id=XX&action=edit的請求,並顯示文本將是myname值。

但在我們的案例中,我們不需要myname文本 - 我們的顯示文本將被硬編碼。我們不希望在我們的JSON請求中傳遞任何額外的數據,但似乎您需要爲每個列添加JSON屬性。我們怎麼能沒有添加JSON列的鏈接?

回答

1

格式化程序'showlink'與所有其他格式化程序一樣使用來格式化從服務器或從本地數據加載到jqGrid中的數據。因此,在您的示例中,您不會在鏈接中輸入「myname」文本(列名稱),但是網格中的單元格值爲

所以如果你想使用predefined formatter'showlink'你有來填充列數據與想要在鏈接中看到的文本。你可以做到這一點無論您的JSON數據或填充的內部/覆蓋頁面之後的文本被加載例如loadComplete事件句柄內:

loadComplete: function() { 
    var grid = $("list"); 
    var ids = grid.getDataIDs(); 
    for (var i = 0, idCount = ids.length; i < idCount; i++) { 
     grid.setCell(id, 'myname', 'My text for link'); 
    } 
} 

您還可以使用custom formattercustom unformatter而不是'showlink'predefined formatter。然後,您可以在不填寫網格中的任何數據的情況下,按照自己的意願定義鏈接文本。

+0

與自定義格式化程序 - 謝謝。 – 2010-09-17 14:05:08