如何以编程方式打开和关闭详细模板?

发布于 2025-01-13 07:10:55 字数 787 浏览 0 评论 0原文

我有 3 列,因此有 3 个单元格,其中有一个按钮。

单击按钮时,我想打开/关闭详细模板,

左侧没有 + 图标

HTML:

<kendo-grid-column field="info" title="info">
    <ng-template kendoGridCellTemplate let-dataItem>
        <button mat-button (click)="clickInfoCell()">
        </button>
    </ng-template>
</kendo-grid-column>

<ng-template kendoGridDetailTemplate let-dataItem let-rowIndex="rowIndex">
     // DETAIL TEMPLATE BODY
</ng-template>

TS:

public onCellClick(event: CellClickEvent){
    this.myEvent= event;
}

//toggleTemplate
public clickInfoCell(){
    //Close previous template
    //Open detail template
}

谢谢

I have 3 columns, and therefore 3 cells in which I have a button.

At the click of the button I would like to open / close the detail template

Without having the + icon on the left

HTML:

<kendo-grid-column field="info" title="info">
    <ng-template kendoGridCellTemplate let-dataItem>
        <button mat-button (click)="clickInfoCell()">
        </button>
    </ng-template>
</kendo-grid-column>

<ng-template kendoGridDetailTemplate let-dataItem let-rowIndex="rowIndex">
     // DETAIL TEMPLATE BODY
</ng-template>

TS:

public onCellClick(event: CellClickEvent){
    this.myEvent= event;
}

//toggleTemplate
public clickInfoCell(){
    //Close previous template
    //Open detail template
}

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

┼── 2025-01-20 07:10:55

实际上有一个内置机制具有用于此目的的专用指令。

模板:

<kendo-grid
    [kendoGridBinding]="gridView"
    [kendoGridExpandDetailsBy]="expandDetailsBy"
    [(expandedDetailKeys)]="expandedDetailKeys"
></kendo-grid>

组件:

public expandedDetailKeys: any[] = [1];
public expandDetailsBy = (dataItem: any): any => {
    return dataItem.ProductID;
};

您可以阅读有关机制 这里

您可以在此处查看 StackBlitz 中的工作演示。

There's actually a built-in mechanism with dedicated directives for this purpose.

Template:

<kendo-grid
    [kendoGridBinding]="gridView"
    [kendoGridExpandDetailsBy]="expandDetailsBy"
    [(expandedDetailKeys)]="expandedDetailKeys"
></kendo-grid>

Component:

public expandedDetailKeys: any[] = [1];
public expandDetailsBy = (dataItem: any): any => {
    return dataItem.ProductID;
};

You can read about the mechanism here.

You can see a working demo in StackBlitz here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文