gpt4 book ai didi

angular - ngx-datatable 模型中的多列

转载 作者:行者123 更新时间:2023-12-02 23:20:56 26 4
gpt4 key购买 nike

我正在寻找一种“动态”向 ngx-datatable 添加列的方法,但我找不到方法。我想要完成的是某种日历。为了简单起见,假设我有一些想要在表格中显示的对象:

rows: [
{ name: Joe, availableDays: [ { date:'01-01-2017', foo: true }, { date:'03-01-2017', foo: true }]}
{ name: Jack, availableDays: [ { date:'01-04-2017', foo: true }]}
]

现在我想查看以下列和值:

Name; 01-01-2017; 02-01-2017; 03-01-2017; 04-01-2017

Joe; true; false; true; false
Jack; false; false; false; true

忽略“foo”。我只是添加它来表明我正在寻找处理对象的东西。我很想像这个例子一样使用它:https://github.com/swimlane/ngx-datatable/blob/master/demo/basic/inline.component.ts

语法如下:

 <ngx-datatable-column name="Name">
<ng-template ngx-datatable-cell-template let-value="value" let-row="row">
[...]
</ng-template>
</ngx-datatable-column>

谢谢!

最佳答案

我想回答这个问题,尽管它是一年多前发布的,因为我认为它会帮助其他正在尝试完成同样事情的人。我将 Angular6 与 Typescript 结合使用,但您仍然应该能够根据您的需求应用该解决方案。

首先,我在类中添加了 resultColumns: any[] = []; 声明。在 HTML 方面,我添加了这一点:

<ngx-datatable class='material'
[rows]='row'
[columnMode]='"flex"'
[headerHeight]='50'
[footerHeight]='50'
[rowHeight]='"auto"'
[limit]='20'
[messages]='messageObject'
[sortType]='"single"'
[loadingIndicator]='loading'
[scrollbarH]="true">
<ngx-datatable-column *ngFor="let col of resultColumns; let i = index" [name]="col.name" [flexGrow]="col.flexGrow">
<ng-template ngx-datatable-header-template>
{{ col.name }}
</ng-template>
<ng-template let-value="value" ngx-datatable-cell-template>
{{ value }}
</ng-template>
</ngx-datatable-column>
</ngx-datatable>

在我的 ngOnInit 中,我调用了一个名为 generateColumns() 的函数,该函数将负责填充 resultColumns 对象。

generateColumns(rows) {
this.rows.forEach((item) => {
this.resultColumns.push({
name: item.date,
prop: item.foo,
flexGrow: 1.0,
minWidth: 100
});
}

// Pushes the name column to the front of the column list
this.resultColumns.unshift({
name: 'Name',
prop: item.name,
flexGrow: 1.0,
minWidth: 100
});
}

关于angular - ngx-datatable 模型中的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44529043/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com