我想知道是否支持以下方法:
定义网格模式和列并使用空数组进行初始化:
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 使用空数组初始化,则观察模式可能会遇到一些问题。