2017-08-16 9 views
0

私は私が思っていたこれらの列選択変数

<tbody formArrayName="codeSelections"> 
    <ng-template ngFor let-control [ngForOf]="reportForm.controls.codeSelections.controls" let-i="index"> 
     <tr> 
      <td>{{ "Column" | translate }} {{ i + 1}}</td> 
      <td> 
       <kendo-dropdownlist [formControlName]="i" 
            [data]="codeSelectionOptions" 
            [textField]="'StringValue'" 
            [valuePrimitive]="true" 
            [valueField]="'ID'"> 
       </kendo-dropdownlist> 
      </td> 
      <td></td> 
      <td><input type="checkbox" /></td> 
     </tr> 
    </ng-template> 
</tbody> 

ごとにコントロールをフォームの配列を作成しているこの

public data = { 
    column1Code: 63, 
    column1Value: "test", 

    colum2Code: 85, 
    column2Value: "random" 
    ... 
} 

のように見えるオブジェクトを持っていますループからi varを使って変数を出力することができますか?

ので、たとえばeacht列に私はドロップダウンリストをプリントアウトする必要があり、これは私が達成したいものですが、私はわからないんだけど、それ

<kendo-dropdownlist [formControlName]="i" 
        [data]="codeSelectionOptions" 
        [textField]="'StringValue'" 
        [(ngModel)]="{{data. + 'column' + i + 'Code'}}" 
        [valuePrimitive]="true" 
        [valueField]="'ID'"> 
</kendo-dropdownlist> 

の正しい構文を把握することはできませんもし私が求めていることが可能であれば、それについて何も見つけることはできません。あなたの助けを事前に

おかげ

+0

達成しようとしていることがわかりません。 '' {{data。+ 'column' + i + 'Code'}} ""は何をすべきか?これはドロップダウンリストのユーザーに表示される値ですか? –

答えて

0

[]{{}}は、同じ属性またはプロパティの結合に一緒に使用決してです。

[(ngModel)]="{{data. + 'column' + i + 'Code'}}" 

[(ngModel)]="data. + 'column' + i + 'Code'" 

`データでなければなりません。 + 'column'はおそらくあなたが望むものではありません。あなたは、本発明の方法名として

[ngModel]="data['column'] + i + 'Code'" (ngModelChange)="updateSelection($event)" 

updateSelectionます:代わりに

[(ngModel)]="data['column'] + i + 'Code'" 

式は、値とイベントバインディングでそれを分割する必要があるので、双方向のバインディングで使用することはできませんを使用します実装する必要があります)、実際には計算された値を使用するとどのように役立つのか分かりません。

http://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdownlist/forms/

[(ngModel)]="data['column']" [textField]="data['column'] + i + 'Code'" 

ドキュメントによると、あなたがやりたいことがあります。

0

私は角を使用していないが、明らかなエラーがあなたのオブジェクトにアクセスしようとしている方法で、

{{data['column'+i+'Code']}} 

代わりにこれを試して、私はあなたがそのようにオブジェクトの配列を持っているにもお勧めしますcolumn2codeの横にcolumn1codeを持つ必要はありません。あなた自身の人生をもっと難しくしています。