jqGrid没有过滤

时间:2017-01-20 10:34:03

标签: javascript jquery jqgrid

我在jqGrid中实现了自动完成过滤器功能。 但是这不起作用,我相信有两个问题。

我有一个使用格式化程序的列。如果包含此列,则过滤根本不会触发加载。如果没有此列,过滤将触发加载,但不会过滤结果。

我已经读过indexjsonmap必须与name中的colModel相同才能进行过滤。我确保这些比赛仍然没有运气。

代码:

    loadData: function (someData) {

    $(model.table).GridUnload();

    $(model.table).jqGrid({
        url: $(model.tableURL).val(),
        datatype: 'JSON',
        mtype: 'POST',
        postData: {
            someData: someData
        },
        emptyrecords: 'No Wholesalers',
        viewrecords: true,
        autowidth: true,
        shirnkToFit: false,
        rowNum: -1,
        loadtext: 'Loading...',
        multiselect: false,
        width: "100%",
        height: "100%",
        colModel: [
         { label: 'Wholesaler', name: 'WholesalerName', jsonmap: 'WholesalerName', sortable: false, align: 'center', width: '250' },
          {
              label: 'Amount Complete', name: 'PercentageComplete', jsonmap:'PercentageComplete', search: false, sortable: false, align: 'center',
              formatter: function (cellvalue, options, rowObj) {
                  return '<div class="progress progress-striped pos-rel" data-percent="' + rowObj.PercentageComplete + '%">' +
                      '<div class="progress-bar progress-bar-success" style="width:' + rowObj.PercentageComplete + '%;"></div></div>';
              }
          },
         { label: 'No of Customers', name: 'NoOfCustomers', jsonmap: 'NoOfCustomers', search: false, sortable: false, align: 'center' },
         { label: 'Last Updated', name: 'LastUpdated', jsonmap: 'LastUpdated', search: false, sortable: false, align: 'center' },
         { label: 'Last Update By', name: 'LastUpdateBy', jsonmap: 'LastUpdateBy', search: false, sortable: false, align: 'center' },
        ],
        altrows: true,
        loadComplete: function () {
            var table = this;

            //model.update()
        },
        loadError: function (xhr, st, err) {
            alert(err);
        }
    }
    ).jqGrid('filterToolbar', {
        stringResult: true, searchOnEnter: false, ignoreCase: true,

    })
},

1 个答案:

答案 0 :(得分:0)

原来我没有loadonce: true设置。

因此,当在按键上过滤时,网格正在重新加载并重新填充来自服务器的数据。