Kendo Grid для меня новичок, поэтому прошу прощения за невежество. Я пишу угловое приложение, которое использует отдельную службу для обновления локального массива. Он хранится в переменной $scope.searchResults. Я инициализировал сетку с помощью свойства dataSource ->transport в надежде, что при обновлении упомянутого выше массива источник данных и сетка также будут обновлены соответствующим образом. Это не тот случай. Массив обновляется без проблем, но источник данных никогда не обновляется. Я сделаю все возможное, чтобы вставить все фрагменты кода и вывод консоли ниже.
HTML:
<div class="margin-top-25" ng-show="searchResults">
<div id="report-grid" kendo-grid="grid" options="mainGridOptions"></div>
</div>
Исходный источник данных конфигурации Grid:
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]…}
Обратите внимание, что каждый источник данных имеет наблюдаемую длину массива, равную 2, до и после обновления $scope.searchResults.
Я могу углубиться в вывод, если это необходимо, но не хотел, чтобы этот пост стал перегруженным.
Спасибо!