2016-12-30 2 views
0

В сетке Angular 2 Kendo мне нужно показать дополнительную информацию в каждой ячейке, когда пользователь открывает шаблон детали. В сетке Kendo для jQuery я мог использовать событие detailinit (http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#events-detailInit), чтобы выполнить то, что мне нужно, однако в компоненте Angular2 такого события нет.Альтернатива детализации в Angular 2 Kendo grid

<kendo-grid-column> 
     <template kendoCellTemplate let-dataItem let-rowIndex="rowIndex"> 
      {{rowIndex}} 
      <div *ngIf="????"> 
       Need to show this text when detail template is visible 
       and hide when it's hidden 
      </div> 
     </template> 
    </kendo-grid-column> 
    <template kendoDetailTemplate let-dataItem> 
     <section *ngIf="dataItem.Category"> 
     <header>{{dataItem.Category?.CategoryName}}</header> 
     <article>{{dataItem.Category?.Description}}</article> 
     </section> 
    </template> 

Here is an example что мне нужно (см текст в ячейках).

+0

Добро пожаловать в переполнение стека! Вопросы, предлагающие нам рекомендовать или находить книгу, инструмент, библиотеку программного обеспечения, учебное пособие или другой ресурс вне сайта, не относятся к теме для переполнения стека, поскольку они, как правило, привлекают упрямые ответы и спам. Вместо этого [описать проблему] (http://meta.stackoverflow.com/questions/254393) и что было сделано до сих пор, чтобы решить эту проблему. –

+0

@JoeC вопрос не о рекомендации, речь идет о том, как получить конкретный результат с компонентом сетки пользовательского интерфейса Kendo для Angular 2 –

ответ

0

В это время сетка Angular 2 не предоставляет информацию о том, расширен ли шаблон детали или нет. Не стесняйтесь suggest this as a feature request.


HACK: Для того, чтобы взломать обойти это ограничение, вы можете вывести расширенное состояние из HTML.

См. this plunkr.

private icons(): any[] { 
    const selector = ".k-master-row > .k-hierarchy-cell > .k-icon"; 
    const icons = this.element.nativeElement.querySelectorAll(selector); 

    return Array.from(icons); 
} 

private saveStates(): void { 
    this.states = this.icons().map(
    (icon) => icon.classList.contains("k-minus") 
); 
} 

private isExpanded(index): bool { 
    return this.states[index] || false; 
} 

В то время как это работает, оно далека от идеала и идет вразрез с Угловой философией и может разорваться на изменениях рендеринга.

+0

Alex, спасибо за ваш ответ. Я только что создал свою собственную функцию расширения строки строки и отправил запрос функции. Теперь я буду ждать выпуска kendo с реализацией событий шаблона, чтобы реорганизовать мой код и использовать собственную функцию кендо. –

+0

Запрос на функцию [ссылка] (http://kendoui-feedback.telerik.com/forums/555517-kendo-ui-for-angular-2-feedback/suggestions/17602957-detail-row-events-in-grid) –

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

  • Нет связанных вопросов^_^