jqGrid:帮助向用户显示当前搜索

本文关键字:搜索 显示 用户 帮助 jqGrid | 更新日期: 2023-09-27 18:06:04

我有一个jqGrid,我需要能够显示正在网格上执行的当前搜索。我们使用navGrid为用户提供筛选已拉回的内容的选项,我希望能够向用户显示应用于数据的当前过滤器。我在页面上有一个标签,一些javascript抓取当前查询并显示在onSearch:

function SetCurrentFilters () {
    var currentFilters = $('#DataManagementGrid').getGridParam("postData").filters;
    document.getElementById("lblCurrentFilters").innerHTML = currentFilters;
}

显示json:

{"groupOp":"answers","规则":[{"字段":"IsActive"、"人事处":"情商","数据":"true"},{"字段":"LastModifiedBy"、"人事处":"cn"、"数据":"奶酪"}]}

我的问题是,有没有更好的路线?还是直接使用json?

jqGrid:帮助向用户显示当前搜索

您可以解析这个JSON并读取字段名/值并在HTML中显示它。这只是一个想法,而不是一个解决方案:

function SetCurrentFilters () {
    var currentFilters = $('#DataManagementGrid').getGridParam("postData").filters;
      var htmlString='';
      var data = $.parseJSON(currentFilters);
    $.each(data.rules, function(idx, obj) {
       htmlString += obj.field + ' ' + obj.op + ' ' + obj.data + '<br />;
    });
    document.getElementById("lblCurrentFilters").innerHTML = currentFilters;
}

在循环中应用一些逻辑来检查操作符的类型以及您想要显示的内容,例如eq for ' = '等