JsGrid排序不起作用

时间:2017-09-06 15:06:36

标签: sorting jsgrid

以下是我的JsGrid代码的一部分,我觉得缺少一些东西,以便我像Fiddle上的任何其他示例一样对数据进行排序。

autoload: true,
inserting: false,
editing: false,
paging: true,
pageIndex: 1,
pageSize: 5,
pageLoading: true,
autoload: true,
filter: true,
sorting: true,

controller: {
  loadData: function(filter) {
    return $.ajax({
      type: "GET",
      url: BASE_URL,
      data: filter,
      dataType: "json",
      cache: false
    });
  },
},

我尝试过排序:"数字"。

1 个答案:

答案 0 :(得分:1)

以下基于数字排序的逻辑

$("#Grid2").jsGrid({
    height: "auto",
    width: "100%",

    filtering: false,
    editing: false,
    sorting: true,
    paging: true,
    autoload: true,
    inserting: false,
    pageSize: 15,
    pageButtonCount: 5,

    controller: {
        loadData: function(filter) {
            var d = $.Deferred();
            $.ajax({
                cache: false,
                type: 'GET',
                url: "http://" + servername + ":" + portnumber + "/api,
                data: filter,
                dataType: "json",
                success: function(data) {
                    filteredData = $.grep(data, function(item) {
                        //filtering logic
                        ;
                    });
                    d.resolve(filteredData);
                    testdata = JSON.stringify(data);
                    $("#Grid2").jsGrid("sort", 1);
                    HistoricData = data;
                },
                error: function(e) {
                    console.log(e);
                    console.log(e.responseText);
                    var errorMsg = e.responseText;
                    var msg = errorMsg + " for this particular combination";
                    showError(msg);
                    $("#displayingHistoryValues").hide();
                    $("#ExportGrid2").hide();
                    $("#Grid2").hide();
                    d.resolve();
                }
            });

            return d.promise();
        }
    },
    fields: [{
        title: "Value",
        name: "MeasureValue",
        type: "number",
        width: "5%",
        css: "custom-field",
        sorting: true,
        itemTemplate: function(value, item) {

            if (item.MeasureValue != null && item.MeasureValue != '' && item.MeasureValue.trim().length > 0) {
                var mesval = FormatValeur(item.MeasureUnit, item.MeasureValue);
                return "<div>" + mesval + "</div>";
            }

        }
    }, {
        type: "control",
        editButton: false,
        deleteButton: false,
        width: "5%"
    }]
})