1

Bitte vergeben Sie den Titel. Ich konnte nicht herausfinden, wie ich am besten beschreiben könnte, wonach ich suche.Binding wählen Sie auf gefiltertes Modell

Meine JSON sieht ungefähr so ​​aus:

AvailableColumns: [ 
    { ColumnName: "CustomerNumber", ... }, 
    { ColumnName: "CustomerFirstName", ... } 
], 
AvailableSummaryColumns: [ 
    { 
    ColumnName: "CustomerNumber", 
    CalculationTypes: [ 
     { label: "Count", id: 1 }, 
     { label: "Count Distinct", id: 2 } 
    ] 
    }, 
    { 
    ColumnName: "CustomerFirstName", 
    CalculationTypes: [ 
     { label: "Count", id: 1 }, 
     { label: "Count Distinct", id: 2 } 
    ] 
    } 
] 

Ich habe eine Richtlinie, die durch die Eltern dieses Objekts geht und bindet an den Innen Daten, kein Problem. Das Problem, das ich habe, ist, dass ich ng-Optionen einer Auswahl zu einem gefilterten Objekt nach ColumnName binden muss.

Innerhalb meiner ng-Wiederholung rendere ich ein Select Gehäuse die CalculationTypes für jede Spalte. Ich brauche meine ng-Optionen für jeden der CalculationTypes, wobei AvailableSummaryColumns.ColumnName dem ColumnName des aktuellen AvailableColumns-Objekts in meinem ng-repeat entspricht.

Ich habe versucht alles, was ich weiß, um zu versuchen, aber nur nicht richtig gebunden werden kann. Was ist der beste Weg, dies zu erreichen?


ng-repeat:

<tr ng-repeat="column in AvailableColumns track by $index | orderBy: 'ColumnOrder'" data-column-name="{{column.ColumnName}}" data-ref="{{$index}}"> 

Innerhalb jeder Zeile, muss ich die ng-Modell oder ng-Optionen eines select zu AvailableSummaryColumns.CalculationTypes gebunden zu sein, wo AvailableSummaryColumns.ColumnName zu AvailableColumns gleich .Spaltenname.

+0

Sie bitte das ng-Repeat-Code und ng-Optionen –

+0

@GonzaloPincheiraArancibia bieten habe ich meine Frage bearbeitet mit detaillierten – Steve

Antwort

1

Try this:

<tr ng-repeat="column in AvailableColumns track by $index | orderBy: 'ColumnOrder'" data-column-name="{{column.ColumnName}}" data-ref="{{$index}}"> 
    <td><div ng-repeat="sumary in AvailableSummaryColumns track by $index"> 
     <div ng-if="sumary.ColumnName === column.ColumnName"> 
      <select ng-options="type.label for type in AvailableSummaryColumns. CalculationTypes"></select> 
     </div> 
     </div> 
    </td> 

</tr> 
+1

diesem als Leitfaden, ich war in der Lage, Ihren Code zu ändern, um gib mir die Optionen, nach denen ich gesucht habe. Vielen Dank! – Steve

+0

Sie sind herzlich willkommen! –

Verwandte Themen