当单元格没有值时,jqGrid更改单元格的格式化程序

时间:2013-06-20 15:56:41

标签: jqgrid jqgrid-formatter

我有一个jqGrid,其中一列已将formatter设置为

下面的超链接
{ name: 'IDNumber', index: 'IDNumber', classes: 'hyperlink',
    search: true, stype: 'text',
    formatter: 'showlink', formatoptions: { baseLinkUrl: '#'} },

当一个单元格没有IDNumber值时,我想将格式化程序更改为字符串。

我想要做的是当单元格没有值并且链接为格式化程序时它不显示网格线

1 个答案:

答案 0 :(得分:3)

格式化程序showlink为每个输入数据(即空字符串)或数字生成<a>元素。

我不完全确定我理解你想要的是什么。

如果我理解正确,即使单元格包含字符串,您也需要使链接“可点击”。为此,您可以将列中的所有空字符串替换为"&nbsp;&nbsp;&nbsp;"

我建议你的另一个选择是使用我在the answer中描述的dynamicLink格式化程序。它非常简单,但作为预定义的格式化程序showlink更强大。

The demo展示了如何使用它。专栏

{ name: "mylink", width: 60, sortable: false,
    formatter: "dynamicLink",
    formatoptions: {
        cellValue: function (cellValue, rowId, rowData, options) {
            return cellValue !== "" ?
                cellValue :
                "<span style='color:red'>empty link</span>";
        },
        url: function (cellValue, rowId, rowData) {
            return '/Store/AddToCart?id=' + rowId + '?' +
                $.param({
                    name: rowData.name
                });
        }
    } }

允许定义自定义单元格值和链接中使用的URL。您可以找到格式化程序的源代码here。演示显示网格

enter image description here

我放置了一些自定义文本(红色文本“空链接”)而不是空字符串。