如何在对现有网格数据应用搜索后重新绑定JQgrid数据

时间:2014-12-23 06:18:18

标签: jqgrid jqgrid-asp.net

我有一个客户详细信息,我正在显示客户账单状态,工作正常, 一旦我们在网格中加载数据,是否可以重新绑定网格,例如: 当我从另一个页面来时,如何对现有网格数据应用搜索并将其重新绑定到网格。 下面是我使用的colmodel和其他属性,但是没有正常工作,

 $("#BillDetails").jqGrid({
      url: '../Handler.ashx,
      datatype: "json",
      colNames: [ 'S.No', 'Bill NO', 'Customer Name', 'Customer Type', 'Bill Date',Bill Status'],
      colModel: [
      { name: 'SERIAL', sortable: false, search: true, stype: 'text', width: 40, hidden: false,
               align: 'right', sorttype: 'int' },
      { name: 'BILL_NO', sortable: false, search: true, width: 80, hidden: false, 
               align: 'right',formatter: editLink,},

      { name: 'CUSTOMER_NAME', search: true, align: 'left', width: 150, aligh: 'left', 
               sortable: false },
      { name: 'CHECK_TYPE', align: 'left', width: 150, search: true, aligh: 'left', 
               sortable: false},
      { name: 'BILL_DATE', width: 85, sortable: false, search: true, align: 'center', 
               sorttype: 'date', formatter: "date", formatoptions: { newformat: 'd/m/Y' } },
      { name: 'BILL_STATUS', width: 90, align: 'left', search: true, stype: 'select', 
               searchoptions: { value: 'Pending:Pending;
               On Hold:On Hold;Clear:Clear;Incompelete:InComplete,sortable: false } },
      ],
      width: '980',
      height: '450',
      shrinkToFit: false,
      sortable: true,             
      mtype: 'GET',
      scrollbar: true,
      sortname: 'BILL_NO',
      sortorder: 'asc',
      hidegrid: false,
      loadonce: true,
      ignoreCase: true,
      rowNum: 50,
      pager: '#Pager',
      viewrecords: true,
      // Search on page load from grid data
      gridComplete: function () {
          var searchFilter = "Clear";  // In this I will receive the the status from query string, 
                  //for   now i have provided the the hard core value to test
          var gridData = $("#jQGridDemo").jqGrid('getGridParam', 'data');
          console.log(gridData);
          if (searchFilter != "") {
          var grid = $("#BillDetails"), f;
          f = { rules: [] };
          f.rules.push({ field: "STATUS", op: "eq", data: searchFilter });
          grid[0].p.search = true;
          $("#BillDetails").setGridParam({ data: gridData, postData: { filters: f }, 
                    datatype:   "local", });
       }
     }
  });

1 个答案:

答案 0 :(得分:0)

如果您想从带有搜索参数的其他网页发送时重新加载jqGrid,则可以使用postData的{​​{1}}属性。

这样的事情:

jqGrid

您可以根据需要使用js或服务器端填充此属性。

<强>更新

您还可以使用jqgrid的$("#BillDetails").jqGrid({ url: '../Handler.ashx', datatype: "json", mtype: 'GET', postData: { Page: 'Dashboard', strUserID: strUserID, } 方法:

setGridParam

但是我理解这种方式你只需要为$("#BillDetails").jqGrid('setGridParam', { postData: { Page: 'Dashboard', strUserID: strUserID, } }); $("#BillDetails").trigger("reloadGrid"); 属性添加值。 你也可以这样试试:

postData

你可以在网格init上传递你的新参数。