我有一个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]);
}
}
答案 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}}之后删除。