0

这就是我的网格的样子我有一个 JQgrid,它只包含一个包含一些 4 个值的列...我需要在这 4 个值之后添加一个常量超链接,它与单元格中的值无关。它不应该与列组合...相反,它应该在列下方的 JQgrid 内显示为单独的超链接。如何实现这一点?

这是我的代码:

ASP:

<table id="UsersGrid" width = "750px">

     </table> 

JS:

$(function () {
            $("#UsersGrid").jqGrid({

                datatype: function (pdata) { getData(pdata); },
                colNames: ['CampaignName'],
                colModel: [
                        { name: 'campaign_name', index: 'CampaignName', width: 750},
                    ],
                    hidegrid: false,
                caption: 'Recent Campaigns'

            });
});

 function getData(pData) {
            var userid = $("#userId").val();
            var postData = {};
            postData.userId = userid;

            $.ajax({
                type: "GET",
                url: "/iSpaceWeb/CampaignService.svc/GetRecentCampaigns",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                data: postData,
                success: function (data) {
                    ReceivedClientData(JSON.parse(data));
                },
                error: function (data, textStatus) {
                    alert('An error has occured retrieving data!');
                }
            });
        }

        function ReceivedClientData(data) {
            var thegrid = $("#UsersGrid");
            for (var i = 0; i < data.length; i++) {
                thegrid.jqGrid('addRowData', i, data[i]);
            }

        }
4

1 回答 1

1

您可以添加footerrow: true一个包含页脚行的 jqGrid 选项。要填充该行,您可以使用footerData

$("#UsersGrid").jqGrid("footerData", "set", {
    campaign_name: "<a href='http://www.google.com'>Google</a>"
}, false);

此外,我不建议您使用datatypeas 函数和用于addRowData填充数据。这是非常糟糕的风格。取而代之的是,您可以使用和 来使用和datatype: "json"设置 Ajax 请求的其他选项。ajaxGridOptions: { contentType: "application/json; charset=utf-8" }serializeGridData

JSON.parse(data)里面success的呼唤看起来很可疑$.ajax。我想您手动将返回的对象转换为 JSON 字符串。这是错的。您应该返回对象,WCF 运行时会将返回的数据 * 自动 * 转换为 JSON 字符串。您当前的代码对 JSON 进行了两次序列化,因此您还必须解析服务器响应两次:一次将通过 have 解析,另一次通过显式调用解析它。您应该修复服务器代码中的问题,并在客户端调用不需要的调用后将其删除。dataType: "json"CampaignService.svc/GetRecentCampaigns $.ajaxdataType: "json"JSON.parse(data)JSON.parse(data)

于 2013-03-18T12:37:35.920 回答