Фильтр сетки данных / сортировка по столбцу на основе функции - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть сетка данных Clarity v2 со встроенной сортировкой / фильтрацией. Это работает для столбцов, заполненных свойством посредством интерполяции. Однако это не работает, если столбец заполняется вызовом метода через интерполяцию.

Я предполагаю, что из-за вызова метода значение недоступно для сетки при первоначальном связывании ... но я надеюсь, что есть способ обойти это.

  <clr-dg-column [clrDgField]="'Id'">ID</clr-dg-column>
  <clr-dg-column [clrDgField]="'Client'">Client</clr-dg-column>
  <clr-dg-column [clrDgField]="'Name'" [clrDgSortOrder]="ClrDatagridSortOrder.ASC">Name</clr-dg-column>
  <clr-dg-column [clrDgField]="'PublicKeyHash'">Public Key Hash</clr-dg-column>

  <clr-dg-row *clrDgItems="let clientLicense of ClientLicenses" [clrDgItem]="clientLicense">
    <clr-dg-cell>{{clientLicense.Id}}</clr-dg-cell>
    <clr-dg-cell>
      {{getClientName(clientLicense.ClientId)}}
    </clr-dg-cell>
    <clr-dg-cell>{{clientLicense.Name}}</clr-dg-cell>
    <clr-dg-cell>{{clientLicense.PublicKeyHash}}</clr-dg-cell>
  </clr-dg-row>

Также - что, если у нас есть сложная ячейка, то есть подсказка, такая как следующее?

  <clr-dg-column [clrDgField]="'Id'">ID</clr-dg-column>
  <clr-dg-column [clrDgField]="'Client'">Client</clr-dg-column>
  <clr-dg-column [clrDgField]="'Name'" [clrDgSortOrder]="ClrDatagridSortOrder.ASC">Name</clr-dg-column>
  <clr-dg-column [clrDgField]="'PublicKeyHash'">Public Key Hash</clr-dg-column>

  <clr-dg-row *clrDgItems="let clientLicense of ClientLicenses" [clrDgItem]="clientLicense">
    <clr-dg-cell>{{clientLicense.Id}}</clr-dg-cell>
    <clr-dg-cell>
      <clr-tooltip>
        <span clrTooltipTrigger>{{getClientName(clientLicense.ClientId)}}</span>
        <clr-tooltip-content clrPosition="top-right" clrSize="lg" *clrIfOpen>
          <span>Client ID: {{clientLicense.ClientId}}</span>
        </clr-tooltip-content>
      </clr-tooltip>
    </clr-dg-cell>
    <clr-dg-cell>{{clientLicense.Name}}</clr-dg-cell>
    <clr-dg-cell>{{clientLicense.PublicKeyHash}}</clr-dg-cell>
  </clr-dg-row>

1 Ответ

0 голосов
/ 07 февраля 2020

Использование пользовательской сортировки / фильтрации решает эту проблему.

  • v2.clarity.design / datagrid / custom-sorting
  • v2.clarity.design / datagrid / custom-filtering
...