【问题标题】:jqGrid Link Display TextjqGrid 链接显示文本
【发布时间】:2011-09-03 16:42:37
【问题描述】:

如何在 jqGrid 的链接列上设置显示文本。我希望每一列中的文本只说“查看”,链接包含特定的 ID。这是我目前拥有的,但 Id 显示在列中,而不是文本“视图”中。我希望在不传递 json 返回数据中的链接 html 的情况下做到这一点。

{ 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"
                                   }

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

    如果我正确理解您的问题,您可以使用以下简单的自定义格式化程序而不是“showlink”预定义格式化程序:

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

    如果您需要在href 的 URL 中包含一些附加信息,您可以使用rowObject 的属性(rowObject.DaterowObject.Description)或将opts.rowId 替换为cellvaluerowObject.myId .

    您还应该验证您使用的属性edittype: 'select' 是否适用于该列。看起来像 Cut&Paste 错误,尤其是因为您没有使用 editable: true 属性。

    【讨论】:

    • 不应该是“函数格式化程序”而不是“格式化程序:函数”?我是 javascript 新手,刚刚发现“函数格式化程序”对我有用。
    • @pstar:不。“格式化程序”是属性名称。它可以是一个函数。可以将匿名函数定义为属性值。因此,您应该尝试答案中的代码并将formatter 属性放在您当前使用的列中formatter: 'showlink'
    猜你喜欢
    • 2012-07-30
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多