我从后端获取kendo网格数据并将其设置为kendo网格选项
alignedProcessesToRiskGridOptions
现在数据显示在网格中,但我也希望获取原始数据来编写一些逻辑,如何从dataSource获取数据或直接调用RiskService
AngularJs工厂并将其分配给{{1 }}?
ctrl.js
var gridData
factory.js
$scope.alignedProcessesToRiskGridOptions = RiskService.alignedProcessToRiskGrid();
$scope.alignedProcessesToRiskGridOptions.dataSource = RiskService.getAlignedProcessesToRiskGridDataSource($stateParams.riskId);
gridData = $scope.alignedProcessesToRiskGridOptions.dataSource.data();
console.log('RISK DATA', gridData);
答案 0 :(得分:1)
根据kendo文档,至少有几种方法可以从数据源获取实际数据。
返回与当前页面对应的数据项,过滤器, 排序和组配置。与数据方法比较,这将 如果是本地数据绑定和分页,则返回所有页面中的数据项 使用
获取或设置数据源的数据项。
如果数据源绑定到远程服务(通过传输 option)data方法将返回服务响应。每个项目 来自响应包含在kendo.data.ObservableObject或 kendo.data.Model(如果设置了schema.model选项)。
如果数据源绑定到JavaScript数组(通过数据 option)data方法将返回该数组的项。一切 数组中的项包装在kendo.data.ObservableObject或 kendo.data.Model(如果设置了schema.model选项)。
由于您使用的是data
方法,因此您应该能够通过结果对象的属性和方法访问数据。
您应该能够通过length
检查gridData
console.log(gridData.length)
,并通过数组索引console.log(gridData[0])
检查数据中的任何单个对象。此外,您应该能够通过console.log(gridData[0].firstProperty)
检查对象的属性。
如果这些都不起作用,则可能是因为未使用query
或fetch
的上下文检查数据源。如果您check out this example,您将看到正在fetch
函数内部评估数据。
您可以找到有关the Kendo DataSource in their online documentation。
的更多信息最后,您可以看到我在this question about the kendo grid中使用Kendo数据源的不同方式的示例。