2017-06-15 65 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