Kendo Grid如何在Angular范围函数中隐藏列?

时间:2014-06-27 11:03:21

标签: javascript angularjs kendo-grid columnname

我想问一下,如何在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

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

有任何建议。

1 个答案:

答案 0 :(得分:0)

如果您有Kendo设置的kendo网格名称,则可以从控制器中的$ scope访问该名称。

e.g。

    <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');