2011-09-03 120 views
1

如何在jqGrid中的鏈接列上設置顯示文本。我希望每一列中的文字都只是用包含特定標識的鏈接說「查看」。以下是我目前擁有的內容,但Id會顯示在列中而不是文本「View」中。我希望能夠在不傳遞json返回的數據中的鏈接html的情況下做到這一點。jqGrid鏈接顯示文本

{ name: 'myId', index: 'View', edittype: 'select', formatter: 'showlink', formatoptions: { baseLinkUrl: 'Consumer/Details', idName: 'myId'} } 

我的JSON對象獲得的回報是這樣的:

select new 
            { 
             myId = obj.myId.ToString(), 
             Date = String.Format("{0:d}", obj.Date), 
             Description = obj.Description, 
             View = "View" 
            } 

回答

2

如果我正確理解你的問題,你可以只使用,而不是「showlink」下面這個簡單的自定義格式預定義的格式:

formatter: function (cellvalue, options, rowObject) { 
    return '<a href="Consumer/Details?myId=' + opts.rowId + '">View</a>'; 
} 

如果您需要在href的URL中包含一些其他信息,您可以使用rowObjectrowObject.Date,rowObject.Description)或將opts.rowId替換爲cellvaluerowObject.myId

您還應該驗證您使用的屬性edittype: 'select'對於該列是否正確。它看起來像Cut &粘貼錯誤,尤其是因爲您不使用editable: true屬性。

+0

不應該是'function formatter'而不是'formatter:function'?我是JavaScript新手,剛發現'函數格式化程序'適用於我。 –

+1

@pstar:編號'formatter'是屬性名稱。它可以是一個功能。可以將匿名函數定義爲屬性值。所以你應該嘗試從答案中的代碼,並將'formatter'屬性放在當前使用'formatter:'showlink''的列中。 – Oleg