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

How to get a custom grid param in jqGrid jQuery?

提问人:PEDRAM POURHAKIM 提问时间:8/28/2023 更新时间:8/28/2023 访问量:41

问:

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 响应(服务器响应)中获取用户数据:

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

现在以 html 形式显示 Id 的元素:lblKoleMoamelat 不幸的是显示未定义。 我感谢任何帮助。

javascript jquery jquery插件 jqgrid jqgrid-asp.net

评论

0赞 jcarrera 8/28/2023
您必须将要获取的属性添加到 colModel 中
0赞 PEDRAM POURHAKIM 8/28/2023
如何对userData属性执行此操作?因为它不在行中
0赞 PEDRAM POURHAKIM 8/28/2023
但我想在表单的另一部分显示userData值,而不是数据
0赞 jcarrera 8/29/2023
data.userData[0][“KoleMoamelat”] 包含某些内容吗?
0赞 PEDRAM POURHAKIM 8/29/2023
不,不幸的是,我在控制台.log中使用它,它抛出异常:无法获取未定义或空引用的属性“userData”。表示数据参数未定义或为 null

答:

-2赞 kaylei sidharth 8/28/2023 #1

下面是代码片段,可以帮助您从响应中访问 并使用正确的值更新 HTML 元素:userData

<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>

您应该直接从函数的参数访问 。已经是响应数据的一部分,因此无需使用该方法即可访问它。userDatadataloadCompleteuserDatagetGridParam

评论

0赞 PEDRAM POURHAKIM 8/28/2023
我使用了您提供的代码并记录 userData 以查看其中的内容,但不幸的是它是一个空数组并且没有显示任何内容