Kendo Grid對我來說是新手,所以我爲無知道歉。我正在編寫一個使用單獨服務更新本地數組的角度應用程序。它存儲在$ scope.searchResults變量中。我已經使用dataSource - > transport屬性初始化了網格,希望當上面提到的數組更新時,數據源和網格也會相應更新。不是這種情況。數組已更新,沒有任何問題,但數據源從不更新。我會盡我所能粘貼所有代碼片段,並在下面輸出控制檯輸出。Kendo Grid datasource永遠不會更新
HTML:
<div class="margin-top-25" ng-show="searchResults">
<div id="report-grid" kendo-grid="grid" options="mainGridOptions"></div>
</div>
的DataSource適當網格配置:
dataSource: {
transport: {
read: function read(options) {
options.success($scope.searchResults);
}
},
schema: {
model: {
id: "id",
fields: {
name: {type: "string"},
dataSource: {type: "string"}
}
}
},
pageSize: 10
}
功能用於更新的數據源:
function runSearch() {
RetrieveReportsService.query({name: vm.searchData.name, dataSource: vm.searchData.dataSource},
function success(result) {
$log.log($scope.grid.dataSource);
$log.log($scope.searchResults);
$scope.searchResults = result.elements;
$log.log($scope.searchResults);
$scope.grid.dataSource.read();
$log.log($scope.grid.dataSource);
});
}
現在控制檯輸出:
第一次登錄的數據源:
O…e.e…d.init {options: Object, _map: Object, _prefetch: Object, _data: ObservableArray.extend.init[2], _pristineData: Array[2]…}
第一次登錄$ scope.searchResults:
[Object, Object]
第二次記錄$ scope.searchResults:
[Object]
第二次記錄數據源:
O…e.e…d.init {options: Object, _map: Object, _prefetch: Object, _data: ObservableArray.extend.init[2], _pristineData: Array[2]…}
請注意,在更新$ scope.searchResults之前和之後,每個數據源的可觀察數組長度爲2。
如果需要的話,我可以深入到輸出中,但不希望這篇文章壓倒一切。
謝謝!
您應該使用k-data-source來引用您的數據。 – hally9k