Angularjs 剑道格网;角度:当通过k-data-source属性支持数据时,布尔值的行筛选将不起作用

Angularjs 剑道格网;角度:当通过k-data-source属性支持数据时,布尔值的行筛选将不起作用,angularjs,kendo-ui,telerik,kendo-grid,Angularjs,Kendo Ui,Telerik,Kendo Grid,我想在剑道UI网格中有一个带有布尔值下拉列表的行过滤器 经过几个小时的搜索,我找到了这篇有用的文章 链接到一个非常有效的示例 但它在我的角度环境下不起作用。在花了几个小时之后,我发现将数据绑定到剑道网格的方法确实奏效了 对于angular及其异步加载数据,我发现将网格数据与网格选项分离非常有用。因此,我在HTML模板中使用了normaly: <kendo-grid options="vm.gridOptions" k-data-source="vm.gridData"

我想在剑道UI网格中有一个带有布尔值下拉列表的行过滤器

经过几个小时的搜索,我找到了这篇有用的文章 链接到一个非常有效的示例

但它在我的角度环境下不起作用。在花了几个小时之后,我发现将数据绑定到剑道网格的方法确实奏效了

对于angular及其异步加载数据,我发现将网格数据与网格选项分离非常有用。因此,我在HTML模板中使用了normaly:

<kendo-grid 
    options="vm.gridOptions" 
    k-data-source="vm.gridData" 
    k-ng-delay="vm.gridOptions">
</kendo-grid>
但是带有布尔值下拉列表的行过滤器不起作用。错误消息为“.toLowerCase不是函数”。这个问题的答案是,将数据字段定义为“Boolean”。但就像在dojo示例中一样,我已经将数据字段定义为“Boolean”

完成筛选工作的方法是定义HTML模板,如下所示:

<kendo-grid 
    options="vm.gridOptions"  
    k-ng-delay="vm.gridOptions">
</kendo-grid>
所以我的问题是:为什么通过html属性或js对象将数据绑定到剑道网格会有区别

使用angular将数据绑定到剑道网格的最佳方式是什么

解决方案

将angular与Kendo UI Grid一起使用时,是否需要将数据与k-data-source属性绑定。数据数组必须是数据源对象。否则,当数据更改时,栅格不会更新(使用“角度”时非常重要)。更多阅读


考虑到这一点,我必须再次尝试字段类型定义。我在“dataSource/model/fields”中定义了所有字段,这是选项的一部分,现在可以使用了。不知道为什么它现在工作。

您在哪里将变量定义为布尔值?因为这确实是解决方案,所以您只需正确地执行;)您是否尝试过设置列值类型。比如这里:我在“列”部分中尝试了它,也在“数据源/模式/模型/字段”部分中尝试了它,如dojo-example中所述。这两个变体都在dojo示例中工作,在我的环境中不会工作。
<kendo-grid 
    options="vm.gridOptions"  
    k-ng-delay="vm.gridOptions">
</kendo-grid>
angular.module('my').factory('myGridCtrl', myGridCtrl);
function myGridCtrl() {
    var gridData = [
        {id: 1, ProductName: 'foo', Discontinued: false}
        {id: 2, ProductName: 'bar', Discontinued: true}
        ....
    ];

    vm.gridOptions = {
        dataSource: {
            data: gridData
        }
        // defining all other options like in the example (without the data)
    };
 }