Jqgrid 在网格重新加载时在过滤器工具栏中保留过滤器文本

Jqgrid 在网格重新加载时在过滤器工具栏中保留过滤器文本,jqgrid,Jqgrid,我正在使用jqgrid,其中我试图在重新加载网格后保留过滤器文本 我有手机更新功能 //代码: $.ajax({ url: '@Url.Action("UpdateComments", "Home")', datatype: 'json', data: { 'resultData': filterResult, 'action': postdata.oper }, type: 'POST', success: OnCompleteComments,

我正在使用
jqgrid
,其中我试图在重新加载网格后保留过滤器文本

我有手机更新功能

//代码:

  $.ajax({
    url: '@Url.Action("UpdateComments", "Home")',
    datatype: 'json',
    data: { 'resultData': filterResult, 'action': postdata.oper },
    type: 'POST',
    success: OnCompleteComments,
    error: function (xhr, status, error) {
        if (xhr.statusText == "Session TimeOut/UnAuthorized") {
            alert(xhr.statusText);
            window.location.href = '@Url.Action("LogOut", "Account")';
        }
        else
            alert(xhr.responseText);
    }
});
//After update Load the grid.
function OnCompleteComments(result) {

    myfilter = $('#TransactionsGrid').jqGrid("getGridParam", "postData").filters;
    Loadgrid($('#TransactionsGrid').getGridParam('page'));

}
成功提取单元格后,我将重新加载单元格的网格以反映提取的值。在
OnComplete
中,我将过滤器分配给一个golbally声明的变量(myfilter)

//网格:

datatype: 'local',
hoverrows: false,
colNames: colHeader,
colModel: colname,
localReader: { id: 'TransactionId' },
rowNum: 10,
hidegrid: false,
rownumbers: true,
pager: '#TransactionsGridPager',
viewrecords: true,
caption: "Transaction Details",
height: 'auto',
scrollOffset: 0,
page: PageNumber,
gridview: true,
shrinkToFit: true,
autoencode: true,
ignoreCase: true,
mySelection: {},
onInitGrid: function () {
    // get reference to parameters
    var p = $(this).jqGrid("getGridParam");

    // set data parameter
    p.data = gridData.BuildTransactionsDataTable;

},
在网格重新加载中(
ajax
函数被调用),一旦网格被加载,我将重新分配过滤器。在这里,我在网格中获得过滤结果,但用于过滤结果的文本不在过滤器工具栏中。它是空的

网格重新加载(保留过滤器):


现在,我需要将过滤后的文本保留在过滤器工具栏中。我如何才能做到这一点?

我不清楚代码。让
GridReload
的代码重新加载并不重要。调用函数
GridReload
的时间(地点)最重要。如果你把它放在正确的位置,它就会工作。您包含了片段“cell update”(顺便说一句,它有一个小错误:使用
datatype
而不是
datatype
),但是您没有显示您使用的编辑模式,在如何(在哪里)填充网格,如何(在哪里)进行“cell update”。此外,尚不清楚为什么网格需要在单元更新后重新加载。jqGrid会自动更新单元格。@Oleg:谢谢你的想法。通过手动设置来完成此操作。你能调查一下吗@奥列格:有时间研究这个问题吗?
jQuery("#TransactionsGrid").jqGrid({
  });
 if (myfilter) {
      var searchFiler = JSON.parse(myfilter).rules[0].data, grid = $("#TransactionsGrid"), f;
      if (searchFiler.length === 0) {
          grid[0].p.search = false;
          $.extend(grid[0].p.postData, { filters: "" });
      }
      f = { groupOp: "OR", rules: [] };
      f.rules.push({ field: JSON.parse(myfilter).rules[0].field, op: "cn", data: searchFiler });

      grid[0].p.search = true;
      $.extend(grid[0].p.postData, { filters: JSON.stringify(f) });
      grid.trigger("reloadGrid", [{ page: 1, current: true }]);
  }