2017-06-15 27 views
0

我有一个使用Angular 4 Kendo UI Grid的项目。如何获得Kendo Angular UI Grid列的字段?

<kendo-grid-column 
    *ngIf="isVisible('fieldName')" 
    field="fieldName" 
    title="Some random field name"> 
</kendo-grid-column> 

isVisible()方法检查此列基于我传递给kendo-grid-column属性可见或不可见。我想要动态获取我在field=fieldName"中指定的字段名称,因此我不必为每列都重复相同的文本。

东西 “神奇” 是这样的:

<kendo-grid-column 
    *ngIf="isVisible(kendo.getField())" 
    field="fieldName" 
    title="Some random field name"> 
</kendo-grid-column> 
+0

你有多少列,有多少人应该拥有这种机制? – Shai

+0

@Shai 5至10列。 – Wernerson

回答

1

可以使用[hidden]选项在剑道格列

例子: -

<kendo-grid [data]="gridData"> 
      <ng-template ngFor [ngForOf]="columns" let-column> 
      <kendo-grid-column 
       field="{{column}}" 
       [hidden]="isVisible(column)" 
      > 

      </kendo-grid-column> 
      </ng-template> 
     </kendo-grid> 

组件文件

public isVisible(field: string): void { 
     // based on your condition you can return true to hide 
     // false to show column 
     return false; 
    } 

闯入者http://plnkr.co/edit/kk8nj4P8k4qY1psexInd?p=preview

+0

这不是问题。 '* ngIf'如果正确。我的例子工程,但我正在寻找一个更优雅的方式来做到这一点。 – Wernerson

+0

哦酷!如果你在这里找到任何好的解决方案。我喜欢学习新的方式。 – CharanRoot