使用id创建一个jqGrid链接

时间:2010-09-16 21:13:54

标签: jqgrid hyperlink formatter

can see如何使用以下方法创建jqGrid链接:

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

这会创建/someurl.php?id=XX&action=edit之类的请求,显示文字将是myname的值。

但在我们的情况下,我们不需要myname文本 - 我们的显示文本将被硬编码。我们不希望在JSON请求中传递任何其他数据 - 但似乎您需要每列的JSON属性。如果没有add'l JSON列,我们怎么能有一个链接?

1 个答案:

答案 0 :(得分: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。然后,您可以根据需要定义链接文本,而无需在网格中填充任何数据。