Typescript 如何在不丢失syncfusion提供的搜索功能的情况下创建自定义syncfusion网格列?

Typescript 如何在不丢失syncfusion提供的搜索功能的情况下创建自定义syncfusion网格列?,typescript,angular7,syncfusion,Typescript,Angular7,Syncfusion,我需要映射从后端接收的数据,例如,类型为number的用户的状态,并将该数字映射到字符串 我可以用typescript实现这一点,但是我失去了syncfusion提供的过滤选项。 我想在显示数据之前先捕获数据,然后映射它们,然后再显示它们,但我真的不知道如何做到这一点 在user.component.html中 <ej-grid id="Grid" #grid [dataSource]="datasource.infos" allowPaging="true" allowFilt

我需要映射从后端接收的数据,例如,类型为number的用户的状态,并将该数字映射到字符串

我可以用typescript实现这一点,但是我失去了syncfusion提供的过滤选项。 我想在显示数据之前先捕获数据,然后映射它们,然后再显示它们,但我真的不知道如何做到这一点

在user.component.html中

<ej-grid id="Grid" #grid [dataSource]="datasource.infos" allowPaging="true" 
    allowFiltering="true">
    <e-columns>
      <e-column field="status" headerText="Status"></e-column>
    </e-columns>
</ej-grid>
在datasource.ts中

infos:object[]=[]

如何在不丢失筛选选项的情况下,将从后端接收的状态映射为数字0和字符串“none”?创建自定义列不起作用。我丢失了对该自定义列的筛选


感谢您的帮助。

我怀疑您已根据特定列数据源更改了网格列单元格值,并希望对该列应用筛选操作。对于更改单元格值,我建议使用valueAccessor网格属性,对于过滤器操作,我建议使用自定义过滤器对该特定列进行过滤。通过使用网格的filterbarTemplate功能,可以轻松地为该特定列应用自定义过滤器。请查找以下样本以供参考

文档链接:


我怀疑您已根据特定列数据源更改了网格列单元格值,并希望对该列应用筛选操作。对于更改单元格值,我建议使用valueAccessor网格属性,对于过滤器操作,我建议使用自定义过滤器对该特定列进行过滤。通过使用网格的filterbarTemplate功能,可以轻松地为该特定列应用自定义过滤器。请查找以下样本以供参考

文档链接:


我怀疑您需要在ejbrid中将值0的文本显示为“无”。您可以通过两种方式实现您的需求

  • QueryCellInfo事件
  • 外键列 QueryCellInfo事件:

    将为行中的每个单元格触发QuerySelInfo事件。使用此事件可以将值更改为无。但它将仅用于显示目的。在数据源中,该列的值将为0。在筛选时,也不能使用“无”文本筛选值

    请参阅API文档以供参考

    外键列:

    在ejGrid中,我们支持foreignkey列,用户可以将数据源单独绑定到该列。该列的值将采用文本和值对的形式。(即)一个文本将显示在视图中,其相应的值将用于所有其他目的。因此,我建议您使用foreignkey支持来实现您的需求

    请参考我们的UG文档以供参考


    如果您有任何问题,请告知我们。

    我怀疑您需要在ejGrid中将值0的文本显示为“无”。您可以通过两种方式实现您的需求

  • QueryCellInfo事件
  • 外键列 QueryCellInfo事件:

    将为行中的每个单元格触发QuerySelInfo事件。使用此事件可以将值更改为无。但它将仅用于显示目的。在数据源中,该列的值将为0。在筛选时,也不能使用“无”文本筛选值

    请参阅API文档以供参考

    外键列:

    在ejGrid中,我们支持foreignkey列,用户可以将数据源单独绑定到该列。该列的值将采用文本和值对的形式。(即)一个文本将显示在视图中,其相应的值将用于所有其他目的。因此,我建议您使用foreignkey支持来实现您的需求

    请参考我们的UG文档以供参考


    如果您有任何问题,请告知我们。

    后端类型是什么?这是ASP.NET还是其他类型?后端类型是什么?这是ASP.NET还是其他的?
      status = {
           0:"None"
           }
    
      items: object;
         ngOnInit() {
           this.data.getUser().subscribe(data => { 
             this.datasource.infos.push(data) 
              this.items = this.datasource.infos;
            })
          }