2016-08-03 20 views
0

web-APIを呼び出すことによって、剣道グリッドデータソースのデータを取得しています。並べ替えとフィルタリングが機能します。次に、DatePicker/Rangeの選択範囲から日付範囲を選択した後、オリジナルのJSONファイルから必要な日付範囲を切り捨て、新しいクロップされたjsonオブジェクトをDataSourceに戻すサーバーにオブジェクトとして範囲を送信します。グリッドはデータによって正しく埋められますが、ソート/フィルタリングは機能しなくなります。何が問題と解決策になるのですか?ありがとう!剣道グリッドソートがリフレッシュ後に機能しなくなる

グリッド:

私は、グリッドをリフレッシュ方法
var result = $("#grid") 
     .kendoGrid({ 
      dataSource: { 
       transport: { 
        read: { 
         url: "/api/GridData/GetCustomers", 
         dataType: "json" 
        } 
       }, 
       pageSize: 20 

      }, 

      height: 550, 
      filterable: true, 
      groupable: true, 
      sortable: true, 

      pageable: { 
       refresh: true, 
       pageSizes: true, 
       buttonCount: 5 
      }, 
      detailTemplate: kendo.template($("#template").html()), 
      detailInit: detailInit 
     }, 
     { 
      columns: [ 
       { field: "UniqueClientCode", title: "Уникальный код клиента" }, 
       { field: "ClientName", title: "Имя клиента" }, 
       { field: "ClientOKPO", title: "ОКПО клиента" }, 
       { field: "RegistrationDate", title: "Дата регистрации" }, 
       { field: "RemovalFromClientsDate", title: "Дата удаления из клиентов" } 
      ] 
     }) 
     .data("kendoGrid"); 

function refreshDatePicker() { 


    // Create new object with date to pass it to API controller and refresh grid 

    var dateForDatePicker = new Object; 
    dateForDatePicker.startDate = start._oldText; 
    dateForDatePicker.endDate = end._oldText; 

    $.ajax({ 
     type: "POST", 
     data: dateForDatePicker, 
     url: "/api/GridData/postDate", 
     dataType: "json", 


     success: function (result) { 

      $("#grid").data("kendoGrid").dataSource = new kendo.data.DataSource({ data: result }); 
      $("#grid").data("kendoGrid").dataSource.read(); 
      $("#grid").data("kendoGrid").refresh(); 
     } 

    }); 
} 

    $("button").on("click", function() { 
      refreshDatePicker(); 
     alert("submit clicked"); 

     } 

); 

});

+1

代わりに新しいデータソースを初期化するだけグリッド上dataSource.data(結果)を呼び出します。これにより、dataSource全体を消去することなく新しいデータ項目が設定されます。 –

答えて

関連する問題