0

请问,如何在Scope Angular JS函数中动态隐藏Kendo Grid中的列?

我试图通过使用这个小提琴来做:

http://jsfiddle.net/OnaBai/XNcmt/

但是,如果我在 ng-click 后尝试在 Angular 范围函数中执行相同的功能:

$scope.hideColumn = function () {
            console.log("Hidding");
            grid.hideColumn("user_role");
};

我得到错误:

TypeError: undefined is not a function
    at Scope.$scope.hideColumn

我怎样才能正确地做到这一点(不仅隐藏,而且锁定等)?

谢谢任何建议。

4

1 回答 1

0

如果您有一个由 Kendo 设置的剑道网格名称,您可以从控制器中的 $scope 访问它。

例如

    <div id="someId" data-kendo-grid="accessMeFromTheControllerID"
    k-auto-bind="false" 
    k-data-source-init={... removed for brevity...}
    k-columns="[
        { field: 'id', title: 'Id' },
        { field: 'columnToBeHidden', title: 'I should be hidden!' }
       ]"
    ></div>

您可以从控制器访问它并使用以下方法隐藏列:

$scope.accessMeFromTheControllerID.hideColumn('columnToBeHidden');

如果你想使用 JQuery(不是 angular-ish 但很高兴知道)

$("#accessMeFromTheControllerID").data("kendoGrid").hideColumn('customerName');
于 2017-03-28T16:28:54.743 回答