2017-06-15 4 views
0

私はAngular 4 Kendo UIグリッドを使用するプロジェクトを持っています。剣道の角型UIグリッド列のフィールドを取得するにはどうすればよいですか?

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

isVisible()方法チェックこの列は、Iがkendo-grid-columnに渡すプロパティに基づいて、目に見えるかでなければならない場合。 field=fieldName"で指定したフィールド名を取得したいので、すべての列に対して同じテキストを2回使用する必要はありません。このような "魔法"

何か:あなたは剣道グリッド列に

[hidden]オプションを使用することができます

<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

: -

<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; 
    } 

plunker http://plnkr.co/edit/kk8nj4P8k4qY1psexInd?p=preview

+0

それは問題ではありません。正しいなら '* ngIf'。私の例は動作しますが、私はこれを行うよりエレガントな方法を探しています。 – Wernerson

+0

ohh cool!あなたがここに良い解決策の投稿を見つけたら。私は新しい方法を学ぶのが大好きです。 – CharanRoot

関連する問題