2016-08-18 3 views
0

Ich habe einen tree table, wo ich die erweiterten Knoten erhalten müssenUI5 Baumtabelle erweitert Knotenliste

jetzt i-Code haben die rowIndex zu ergreifen, die

<table:TreeTable selectionMode="MultiToggle" 
    enableSelectAll="false" rowHeight="40" 
    toggleOpenState="onOpenParent" 

-Controller erweitert werden, haben ich den Code als unter

onOpenParent : function(oControlEvent) 
     { 
      var rowIndex = oControlEvent.getParameter('rowIndex'); 
      .... 

Welche wird den rowIndex, die offen sind, sagen.

Problem:

Wenn die TreeModel die rowIndex geändert werden, sind nicht gültig zum Beispiel i 10 Reihen haben, nach einiger Sache des Baummodell geändert und wurde nur fünf Zeilen.

Wenn ich rowIndex als 7 habe, die erweitert wird, ist die 7 jetzt ungültig, weil wir nur 5 Zeilen haben.

So müssen diese Indizes löschen, wenn sie ungültigen Zustand erreicht. ODER ich muss die erweiterten Knoten nach dem Rendern nehmen.

Was ist besser Weg und wie?

Antwort

0

das ist wie ich fand wir können es tun. aber jemand schlägt bitte einen anderen Weg vor.

Wir finden, die erweitert werden, nachdem Daten an das Modell oder Tabelle onAfterRendering aktualisieren wir unter Code

  var allRows = this.oTable.getRows(); 
     for(r=0;r<allRows.length;r++) 
     { 
      var isExpanded = this.oTable.isExpanded(r); 
      console.log("Row : "+r+" isExpanded:"+isExpanded); 
     } 
verwenden können