如何在 jqGrid jQuery 中获取自定义网格参数?

问题描述 投票:0回答:1

net web 表单项目,我从 ashx.cs http 处理程序文件(服务器端)获取这种格式的数据:

{"total":1,"page":1,"records":10,"userData":{"KoleMoamelat":"1180"},"rows":[{"id":1,"cell":["1"]}]}

这是我的 jqGrid jquery 代码的一部分:

  <script type="text/javascript">
      var grid;
      grid = jQuery("#list").jqGrid({
          url: '/Report/Handlers/AdvancedSearch.ashx',
          datatype: 'json',
          mtype: 'GET',
          colNames: [ 'نوع ملک'],
          colModel: [
              { name: 'Counter', index: 'Counter', width: 40, align: 'center' },
 pager: jQuery('#pager'),
 rowList: [5, 10, 20, 50],
 rowNum: 10,
 height: 120,
 sortname: 'Id',
 sortorder: "desc",
 viewrecords: true,
 imgpath: '/scripts/themes/coffee/images',
 caption: 'آمار قراردادهای ثبت شده در یک بازه زمانی',
 loadComplete: function (data) {
     var userData = $("#list").jqGrid("getGridParam", "userData");
     document.getElementById("lblKoleMoamelat").innerHTML = userData["KoleMoamelat"];

实际上 jqGrid 表本身的数据是正确的,没有任何问题,但我想访问这段代码的 jQgrid 列返回的 userData :

document.getElementById("lblKoleMoamelat").innerHTML = userData["KoleMoamelat"];

但是此代码没有从 ashx.cs 响应(服务器响应)获取 userData :

var userData = $("#list").jqGrid("getGridParam", "userData");

现在在 html 表单中,Id 的元素:lblKoleMoamelat 不幸地显示未定义。 我很感激任何帮助。

javascript jquery jquery-plugins jqgrid jqgrid-asp.net
1个回答
0
投票

以下代码片段可帮助您从响应中访问

userData
并使用正确的值更新 HTML 元素:

<script type="text/javascript">
    var grid;
    grid = jQuery("#list").jqGrid({
        url: '/Report/Handlers/AdvancedSearch.ashx',
        datatype: 'json',
        mtype: 'GET',
        colNames: ['نوع ملک'],
        colModel: [
            { name: 'Counter', index: 'Counter', width: 40, align: 'center' },
        ],
        pager: jQuery('#pager'),
        rowList: [5, 10, 20, 50],
        rowNum: 10,
        height: 120,
        sortname: 'Id',
        sortorder: "desc",
        viewrecords: true,
        imgpath: '/scripts/themes/coffee/images',
        caption: 'آمار قراردادهای ثبت شده در یک بازه زمانی',
        loadComplete: function (data) {
            var userData = data.userData; // Access userData directly from the response data
            document.getElementById("lblKoleMoamelat").innerHTML = userData["KoleMoamelat"];
        }
    });
</script>

您应该直接从

userData
函数的
data
参数访问
loadComplete
userData
已经是响应数据的一部分,因此您不需要使用
getGridParam
方法来访问它。

© www.soinside.com 2019 - 2024. All rights reserved.