我想问一下,如何在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
我怎样才能正确地做到(不仅是隐藏,而是锁定等等)?
有任何建议。
答案 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');