2013-03-18 83 views
0

this is how my grid looks我有一个JQgrid,它只包含一个包含4个值的列......我需要添加一个常量超链接,后面是4个独立于单元格值的值。它不应该与列...相反,它应该作为一个单独的超链接在列下方的JQgrid中显示。如何实现此目的?是否可以在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

这是超链接常量还是取决于单元格值? – Kasyx 2013-03-18 10:58:00

+0

为什么超链接不能出现在网格内的自己的单元格中? – Mark 2013-03-18 11:33:46

+0

@Kasyx它是一个不断的超链接 – Xavier 2013-03-18 11:37:12

回答

1

你可以只添加的jqGrid的footerrow: true作为一个选择,其中包括尾行。为了填补你可以使用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)具有dataType: "json"success$.ajax内的调用看起来非常怀疑。我想你会将CampaignService.svc/GetRecentCampaigns手动中的返回对象转换为JSON字符串。这是不对的。您应该返回对象,WCF运行时会将返回的数据*自动*转换为JSON字符串。您当前的代码将序列化为JSON 两次,因此您必须解析服务器响应的次数也是两次:一旦它将由$.ajax解析,其中有dataType: "json",并且您再次通过明确调用JSON.parse(data)来解析它。您应该修复服务器代码中的问题,并在客户端不需要拨打电话JSON.parse(data)后将其删除。

+0

其实它得到平分,我得到列值和超链接之间的界限..如何避免这种情况? – Xavier 2013-03-18 12:54:22

+0

@ Xavier:对不起,但我不明白你的意思。你能张贴图片并用其他语言来描述问题吗? – Oleg 2013-03-18 12:56:53

+0

我附上了我的JQgrid的屏幕截图..请检查我的编辑 – Xavier 2013-03-18 13:04:43