2009-07-06 3 views
1

Momentan spiele ich mit ScrollTable from GWT Incubator. Ich versuche, Funktionalität zu machen, wenn der Benutzer eine Zeile auswählt, dann auf die Schaltfläche Bearbeiten klickt und dann das betreffende Objekt bearbeiten kann. Im Moment muss ich überprüfen, welche Zeile für Zeile und Spalte ausgewählt wurdeGet Object von GWT ScrollTable

Integer secRowPosition = e.getSelectedRows().iterator().next().getRowIndex(); 

dann meine Datatable Abfrage eindeutige ID zu wählen und dann meine Datenbank für das Objekt abfragen:

myObject = getObjectFromDBbyID(dataTable.getText(secRowPosition, 0)); 

Diese Methode funktioniert gut für mich, aber ist es möglich, das Objekt direkt aus der Tabelle zu bekommen und keine Datenbank zu erstellen, damit ich etwas Zeit sparen kann, ohne meine Datenbank abzufragen.

Ich nehme ich brauche jedes Objekt der Reihe in ScrollTable zuweisen, um das zu tun. Irgendwelche Ideen?

Antwort

1

Es kann bessere Möglichkeiten, aber ein Ansatz, den ich verwendet habe, ist eine Referenz auf das Objekt speichern Sie mögen in einem Button-Widget bearbeiten. Sie würden dies tun, indem Sie Button erweitern und jeder Zeile eine Instanz hinzufügen.

Das entsprechende Objekt ist dann immer verfügbar, wenn auf die entsprechende Bearbeitungsschaltfläche geklickt wird.

0

Wenn Sie Ihre Tabelle mit einer Liste von Objekten bestücken, erhält einfach den Index der Tabellenzeile und das entsprechende Objekt aus der Liste bekommen.

+0

Was ist, wenn der Benutzer die Tabelle sortiert, dann sind die indizierten IDs anders als diejenigen, die in der ArrayList sind. – Maksim

0

Wenn Sie Label erweitern, um ein ID-Feld zu haben, können Sie auch danach sortieren.

0

Wenn Sie irgendeine Art von einzigartigen ID in der Tabelle angezeigt haben, können Sie eine HashMap<YourId,YourObject> halten.

Dies wird durch die Sortierung nicht beeinflusst.

Verwandte Themen