Kendo Grid Как скрыть столбец в функции угловой области?

Я хотел бы спросить, как динамически скрыть столбец в Kendo Grid в функции Scope Angular JS?

Я пытался сделать с помощью этой скрипки:

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

Но если я пытаюсь сделать ту же функцию в угловой функции после ng-click:

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

Я получаю ошибку:

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

Как я могу сделать это правильно (не только скрытие, но и т.д.)?

Спасибо за любой совет.

1 ответ

Если у вас есть имя сетки кендо, установленное 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');
Другие вопросы по тегам