2017-11-10 1 views
1
this.grid.asSingleSelect().addValueChangeListener(event -> { 
     if (!Objects.isNull(event.getValue())) { 
      this.editor.showEditor(event.getValue()); 
     } 
    }); 

Das Problem ist, dass editor die Hälfte des Rasters deckt, wenn es angezeigt wird. Wie kann ich zur ausgewählten Zeile blättern, bevor ich sie zeige?Wie kann ich zur aktuell ausgewählten Zeile im Vaadin Raster scrollen?

Ich weiß, dass Sie this.grid.scrollTo(rowId); können, aber ich kann keinen Weg finden, ID der aktuell ausgewählten Zeile zu erhalten.

Antwort

1

grid#scrollTo

grid.scrollTo(rowForValue, ScrollDestination.START); 
+0

Ja, ich kenne diese Methode, aber ich kann keinen Weg finden, die aktuell ausgewählte Zeilen-ID zu erhalten. – Hex

+1

@Hex hängt davon ab, wie die Daten im DataProvider gespeichert sind, der verwendet wird. Für ListDataProvider ist es möglicherweise OK, die Elemente zu iterieren und den Index auf diese Weise zu finden. Für größere Datensätze sollte eine effizientere Methode zum Auffinden des Index verwendet werden; B. mit einer Kennung als Schlüssel und Position als Wert zuordnen. – Mika

1

In Vaadin 8 Sie sollten in der Lage Raster # verwenden getSelectedItems

public Set<T> getSelectedItems() 

Methode ausgewählte Elemente zu erhalten, wenn Ihr Auswahlmodus Single wählt, gibt es Satz von einem Punkt .

Verwandte Themen