次のアプローチがサポートされているかどうかを知りたいです。
グリッド スキーマと列を定義し、空の配列で初期化します。
var dataSource = new kendo.data.DataSource({ data: [] // intentionally empty! }); $("#grid").kendoGrid({ dataSource: dataSource, schema: { model: { fields: { arrive: {type: "number"}, depart: {type: "number"}, src: {type: "string"} } } }, columns: [ { field: "arrive", groupable: false, title: "arrive",width:88}, { field: "depart", groupable: false, title: "depart",width:88}, { field: "src", groupable: true, title: "src", width:44 } ] etcetera });
次に、構成/初期化の後、Change イベントにバインドします。
var grid = $('#grid').data('kendoGrid'); grid.dataSource.bind("change", function (e) { dataChanged(); }); function dataChanged() { var grid = $("#grid").data("kendoGrid"); grid.refresh(); }
次に、これを行います:
function populateDatasource(event, data) { var grid = $('#grid').data('kendoGrid'); var parsedData = $.parseJSON(data); grid.dataSource.data(parsedData); }
これにより、変更されたイベントがトリガーされ、グリッドが更新されます。dataSource が空の配列で初期化されると、監視パターンに問題が発生する可能性があると考えています。