在大多数情况下,使用类似的东西就足够了
formatter: "showlink",
formatoptions: {
baseLinkUrl: "/Program/",
showAction: "EditMicro",
idName: "myId"
}
在这种情况下,链接将像这样生成
<a href="/Program/EditMicro?myId=123">text from the cell</a>
如果您在操作中有行的 id,您可以直接从数据库中获取您需要的任何其他附加信息。
或者,您可以使用答案中描述的简单技巧。你定义 CSS 类
.myLink { text-decoration: underline; cursor: pointer; }
然后您可以使用自定义格式化程序,如下所示
formatter: function (cellValue, options, rowObject) {
return "<span class='myLink'>" + cellValue + "</span>";
},
cellattr: function () {
return " title=\"Click here to go to EditMicro\"";
}
在这种方式下,您将生成<span>
哪些用户喜欢的链接。beforeSelectRow
您可以使用或onCellSelect
回调捕获单元格上的单击事件。例如
beforeSelectRow: function (rowid, e) {
var $td = $(e.target).closest("td"),
iCol = $.jgrid.getCellIndex($td[0]);
if (this.p.colModel[iCol].name === 'note') {
window.location = "/Program/EditMicro/" +
encodeURIComponent(rowid);
return false;
}
}
如果需要,您可以使用getCol
或getRowData
从单击的行中获取任何其他数据,并将信息附加到目标 URL。