1

我有一个带有详细模板功能的网格。我不希望展开 +/- 并自己打开此模板,无论是在选择行时,还是在我的网格上的一列上的链接。

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

<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>
4

3 回答 3

1

目前网格组件不支持这样的 API。这是为实现而记录的,可以在此 GitHub 问题中进行跟踪

于 2016-11-24T15:30:33.607 回答
0

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

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

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

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

而如果你只是想初始化detail模板,你可以同时展开和折叠。

于 2017-01-05T09:04:24.947 回答
0

这可以(现在? - 不确定它已经可用了多久 - 只使用剑道角度网格几天)以与使用 jQuery 给出的第一个答案类似的方式来完成:

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

    sender.collapseRow(rowIndex);  // close

    // OR

    sender.expandRow(rowIndex);   // open
}  
于 2017-12-10T07:40:14.280 回答