以编程方式打开kendoDetailTemplate

时间:2016-11-24 12:12:14

标签: kendo-ui-angular2

我有一个带有详细模板功能的网格。我想没有扩展+ / - 并自己打开这个模板,无论是选择行,还是我网格上其中一列的链接。

有没有办法做到这一点?我可以调用任何kendo用来自己打开这个模板吗?像这样的东西?

<kendo-grid
    [data]="gridView | async"
    [skip]="skip"
    [scrollable]="'virtual'"
    [selectable]="true"
    [pageSize]="pageSize"
    [height]="600"
    [rowHeight]="36"
    [detailRowHeight]="36"
    (pageChange)="pageChange($event)">
    <kendo-grid-column field="clientID" title="ID" width="80">
        <template kendoCellTemplate let-dataItem>
            <button class="btn btn-link" (click)="expandDetail()">{{dataItem.clientID}}</button>
        </template>
    </kendo-grid-column>
<template kendoDetailTemplate let-dataItem>
      My Very interesting details go here ...
</template>
</kendo-grid>

3 个答案:

答案 0 :(得分:1)

此时网格组件不支持这样的API。记录此信息以供实施和can be tracked in this GitHub issue

答案 1 :(得分:0)

您可以通过处理OnDataBoundEvent来以编程方式展开所有行。

this.expandRow(this.tbody.find("tr.k-master-row"));

如果您要将其折叠回来,请使用

this.collapseRow(this.tbody.find("tr.k-master-row"));

如果您只想初始化详细信息模板,则可以同时展开和折叠。

答案 2 :(得分:0)

这可以(现在? - 不确定它可用多长时间 - 仅使用剑道角度网格几天)以与使用jQuery给出的第一个答案类似的方式进行预先完成: / p>

// using cell click event in template
cellClickHandler({ sender, rowIndex, columnIndex, dataItem, column }) {

    sender.collapseRow(rowIndex);  // close

    // OR

    sender.expandRow(rowIndex);   // open
}