如何根据 Kendo Grid Angular 4 中的条件为一列分配 2 个字段

Posted

技术标签:

【中文标题】如何根据 Kendo Grid Angular 4 中的条件为一列分配 2 个字段【英文标题】:How to assign 2 fields for one column based on condition in Kendo Grid Angular 4 【发布时间】:2019-02-23 05:27:40 【问题描述】:

我正在使用带有 Angular 4 的 Kendo Grid。

我有 2 个字段“DateCreated”和“DateModified”,我想将这些字段分配给“修改日期”列。如果“DateModified”字段中的值为空,则“DateCreated”字段值将分配给该列。当这两个值都存在时,'DateModified' 值被赋值。

尝试使用 *ngIf 但我只能分配一个字段。

这是我的代码..

   <kendo-grid-column field="RecordModifiedDate" title="Date Modified">
       <ng-template kendoGridCellTemplate let-dataItem>
           <div *ngIf="dataItem.RecordModifiedDate = null"> (dataItem.DateCreated) | date: 'MM-dd-yyyy HH:mm:ss' </div>
            </ng-template>
               </kendo-grid-column>

谢谢

【问题讨论】:

【参考方案1】:

你需要再添加一个 if 条件来显示修改日期。

<kendo-grid-column field="RecordModifiedDate" title="Date Modified">
  <ng-template kendoGridCellTemplate let-dataItem>
    <div *ngIf="dataItem.RecordModifiedDate == null"> (dataItem.DateCreated) | date: 'MM-dd-yyyy HH:mm:ss' </div>
    <div *ngIf="dataItem.RecordModifiedDate !== null"> (dataItem.RecordModifiedDate) | date: 'MM-dd-yyyy HH:mm:ss' </div>
  </ng-template>
</kendo-grid-column>

【讨论】:

【参考方案2】:

你可以像这样在插值中设置你的条件

<kendo-grid-column field="RecordModifiedDate" title="Date Modified">
       <ng-template kendoGridCellTemplate let-dataItem>
           <div> (dataItem.RecordModifiedDate==null) ? dataItem.DateCreated | date: 'MM-dd-yyyy HH:mm:ss' : dataItem.RecordModifiedDate | date: 'MM-dd-yyyy HH:mm:ss' </div>
       </ng-template>
</kendo-grid-column>

【讨论】:

以上是关于如何根据 Kendo Grid Angular 4 中的条件为一列分配 2 个字段的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 Kendo-Angular2-grid 中的数据自动调整网格列的大小?

如何在 Kendo Grid + Angular 4 中以编程方式设置选定行?

用于 Angular 行重新排序的 Kendo Grid - Angular 4/5 - HTML5 拖放 API

Kendo Grid,如何更改 Angular 中的可分页文本(页数、项目数)?

Angular Kendo Grid:以编程方式选择行

Angular Kendo Grid:所选行的背景颜色