如何从kendo dataSource获取原始数据?

时间:2016-03-28 14:39:59

标签: javascript angularjs kendo-grid

我从后端获取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);

1 个答案:

答案 0 :(得分:1)

根据kendo文档,至少有几种方法可以从数据源获取实际数据。

There is the view method

  

返回与当前页面对应的数据项,过滤器,   排序和组配置。与数据方法比较,这将   如果是本地数据绑定和分页,则返回所有页面中的数据项   使用

There is the data method

  

获取或设置数据源的数据项。

     

如果数据源绑定到远程服务(通过传输   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)检查对象的属性。

如果这些都不起作用,则可能是因为未使用queryfetch的上下文检查数据源。如果您check out this example,您将看到正在fetch函数内部评估数据。

您可以找到有关the Kendo DataSource in their online documentation

的更多信息

最后,您可以看到我在this question about the kendo grid中使用Kendo数据源的不同方式的示例。