Angular Kendo:用于布尔值的kendo-grid-column过滤器标签

问题描述 投票:0回答:3

我们正在使用Angular Kendo,并且在我们渲染的其中一个表(网格)中,标题是可过滤的。其中一列绑定到布尔字段,但我们希望显示适当的字符串而不是原始布尔值(即active vs true)。每行中实际属性的显示很容易通过条件(即{{ boolean-property ? "label 1" : "label 2"}})处理,但标签有点棘手。现在,这是过滤器的外观:

enter image description here

我的目标是用更合适的东西更新标签,我检查了文档,我能找到的最接近的东西是格式属性,我不确定它是如何用于布尔值的。

有没有人有关于如何为过滤器菜单设置标签的想法?

angular filter kendo-ui label kendo-grid
3个回答
0
投票

不确定更改标签模板,但我发现你可以对你的布尔过滤器做一些customisation

基本上它使用的是kendo-switch components.enter image description here

Stackblitz Example


0
投票

kendo提供可过滤的消息属性,我们可以使用它。

filterable:{
     messages:{
          IsFalse : 'label-1',
          IsTrue : 'label-2'
     }
}

在kendo网格选项中使用此选项。


0
投票

目前我正在使用版本"@progress/kendo-angular-grid": "^3.12.1",我能够执行以下操作来更新BooleanFilterMenuComponent的标签

<kendo-grid
  #grid
  [data]="gridResult"
  [pageSize]="gridState.take"
  [skip]="gridState.skip"
  [sort]="gridState.sort"
  [sortable]="true"
  [pageable]="true"
  [filter]="gridState.filter"
  scrollable="scrollable"
  [selectable]="true"
  filterable="menu"
  [loading]="loading"
>
  <kendo-grid-messages filterIsFalse="Active" filterIsTrue="Inactive"></kendo-grid-messages>
  <!-- Some other column defs -->
    <kendo-grid-column title="Status" field="isDeleted">
    <ng-template kendoGridCellTemplate let-dataItem>
      {{dataItem.isDeleted ? 'Inactive' : 'Active'}}
    </ng-template>
    <ng-template kendoGridFilterMenuTemplate let-filter let-column="column" let-filterService="filterService">
      <kendo-grid-boolean-filter-menu [filter]="filter" [filterService]="filterService" [column]="column"></kendo-grid-boolean-filter-menu>
    </ng-template>
  </kendo-grid-column>
 </kendo-grid>

以下是CustomMessagesComponent的文档,其中包含几个其他选项https://www.telerik.com/kendo-angular-ui/components/grid/api/CustomMessagesComponent/

© www.soinside.com 2019 - 2024. All rights reserved.