2016-09-20 3 views
0

Здесь мой код, чтобы скрыть столбец в сетке кендо.Uncaught TypeError: Не удается прочитать свойство «hideColumn» undefined

var grid = angular.element("#priceCardGrid").data("kendoGrid"); 
for (var i = 0; i < priceCardModalScope.priceCard.length; i++) { 
    if (priceCardModalScope.priceCard[i].shouldAcceptQty == true) { 
     grid.hideColumn(1); 
    } 
} 

но он показывает ошибки, как

Uncaught TypeError: Cannot read property 'hideColumn' of undefined

+0

Я не так много представления о angularJS, но не могли бы вы попробовать с http://stackoverflow.com/questions/24238403/hide-and-show-columns-kendo-grid –

ответ

0

В вашем случае я думаю, что у вас есть проблемы с angular.element(). Вы должны сделать что-то вроде этого (angular.element vs document.getElementById or jQuery selector with spin (busy) control):

angular.element(document.querySelector('#some-id')); 

Надеется, что это помогает.

Рекомендация, которую я могу дать вам при работе с угловыми компонентами и компонентами кендо, заключается в том, чтобы назначить их области действия. Например:

<div kendo-grid="ctrl.grid" class="table" 
    k-data-source="ctrl.dataSource" 
    k-options="ctrl.options"> 
</div> 

Тогда Youn может легко использовать: scrop.grid.hideColumn();

0

Ошибка указывает на то, что экземпляр сетки не существует (пока) или вы пытаетесь извлечь его из неправильного элемента. Если вы выполняете предоставленный код при загрузке страницы, переместите его в обработчик kendoWidgetCreated или kendoRendered.

http://docs.telerik.com/kendo-ui/AngularJS/global-events

Смежные вопросы