dojox.grid.DataGrid: wie der Zugriff auf Daten aus einem click-Ereignis?
Ich bin mit Dojo 1.5 (einschließlich dojox). Ich habe ein dojox.grid.DataGrid, wo jede Zeile repräsentiert einen Benutzer. Wenn ich auf eine Zeile klicken, möchte ich umleiten auf eine URL wie " /Benutzer/USER_ID. Die Benutzer-ID ist eines der Felder im raster, so dass alles, was ich zu tun in meinem onRowClick Rückruf ist, greifen die Benutzer-ID für die Zeile, auf die geklickt wurde.
Das click-Ereignis enthält einen rowIndex-Eigenschaft, und, in der Tat, fand ich einen (ziemlich alten) post anderswo schlug vor, ich sollte in der Lage sein zu tun:
var row = dijit.byId('grid').model.getRow(e.rowIndex);
/* (Then grab the 0th field of the row, which is the user ID.) */
(Sorry, ich hab da die URL vergessen.)
Aber meine grid-Objekt hat kein model-Attribut. Was es damit auf sich? Hat die API geändert? (Mein grid ist sicherlich mit Daten gefüllt, die ich sehen kann, klicken Sie auf Sortieren nach Spalte, et cetera).
So, ich bin stecken, für jetzt. Beachten Sie, BTW, es wird nicht funktionieren, verwenden Sie rowIndex, direkt auf die Gitter zugrunde liegenden dojo.Daten.ItemFileReadStore. Das ist, weil das raster ist sortierbar, so gibt es keine Garantie, dass das raster-Zeilen werden in der gleichen Reihenfolge wie in der Filiale.
Irgendwelche Hinweise wären wir sehr dankbar. Ich hoffe, dass die Frage klar ist, und allgemein genug, dass alle Antworten, die anderen helfen können, in meiner misslichen Lage. Vielen Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe ein ähnliches Szenario und ich schnappe mir den Wert wie diese:
In diesem Fall my_grid ist ein Verweis auf das datagrid-Steuerelement und object_path ist die Spalte wo Speicher ich den Pfad des Objekts an. open_link ist natürlich eine benutzerdefinierte Funktion von mir, da es impliziert, fordert ein server-Pfad.
So einfach ändern Sie die Besonderheiten zu suite Ihrem Fall und Sie sollten in Ordnung sein.