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