是否可以在jqgrid的底部添加超链接?

时间:2013-03-18 10:32:19

标签: jquery asp.net jqgrid hyperlink

this is how my grid looks我有一个JQgrid,它只包含一个包含4个值的列......我需要在4个值之后添加一个常量超链接,这个值独立于单元格中的值。它不应该与列相结合......相反它应该在列下面的JQgrid里面显示为一个单独的超链接..如何实现这个?

这是我的代码:

.aspx的:

<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]);
            }

        }

1 个答案:

答案 0 :(得分:1)

您可以添加footerrow: true作为jqGrid的另一个选项,其中包括页脚行。要填充该行,您可以使用footerData

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

此外,我不建议您使用datatype作为功能,并使用addRowData填充数据。这是非常糟糕的风格。您可以使用datatype: "json"并使用ajaxGridOptions: { contentType: "application/json; charset=utf-8" }serializeGridData设置其他Ajax请求选项,而不是使用JSON.parse(data)

success $.ajax dataType: "json" CampaignService.svc/GetRecentCampaigns$.ajax dataType: "json"的电话{<1}}看起来非常怀疑。我想您将JSON.parse(data) 手动内的返回对象转换为JSON字符串。这是不对的。您应该返回 object ,WCF运行时将返回的数据*自动*转换为JSON字符串。您当前的代码使序列化为JSON 两次,因此您必须同时解析服务器响应两次:一旦JSON.parse(data)解析{{1}}并再解析一次它通过明确地调用{{1}}。您应该在服务器代码中解决问题,并在客户端的不需要的电话{{1}}之后删除。