Frage

Wie kann ich die ausgewählte Zeile Objekt von dojox.enhancedGrid bekommen? Ich verwende selection: ‚single‘ z.B. mit Radio-Buttons.

dijit.byId("gridViewWidget").selection.selectedIndex Gibt die rowIndex. Aber wie die rowObject dieses Index zu bekommen? Ich kann die rowNode()But, was ich brauche Wert der ID-Spalte dieser Zeile erhalten ist.

Es ist möglich, der HTML-DOM zurück von rowNode() travarse Aber Gibt es einen geraden Weg nach vorn?

Ich bin derzeit dijit.byId("gridViewWidget").store._dataArray[i] und Leiten des zurück Index. Obwohl Dies funktioniert so scheint es _dataArray ein Privateigentum ist. So ist es sicher?

War es hilfreich?

Lösung

Ich bin neu mich Dojo, aber das soll, wenn nicht ganz korrekt nützlich sein. Zunächst einmal dojox.grid.enhancedGrid ist oben auf dojox.grid.DataGrid gebaut, so dass hier die Dokumentation finden Sie unter:

dojox.grid.DataGrid Dokumentation

  • grid.getItem(idx) gibt den Speicher 'item' am angegebenen Index

  • grid.selection.getSelected() gibt ein Array der ausgewählten Elemente

Es soll möglich sein, entweder von diesen verwenden, um die Artikel, die Sie wollen.

Andere Tipps

Mit deklarative Markup, man könnte so etwas wie zu tun (aus dem Gedächtnis, Zwicken müssen funktionsfähig sein):

<script type="text/javascript">
function formatThisColumn(rowIndex, rowObject) {
    if (rowObject == null) return;
    field = rowObject.i.fieldName;
    return field;
}
</script>
<div dojoType="dojo.data.ItemFileReadStore" id="store" jsid="jsonStore" url="test.json"></div>
<table dojoType="dojox.grid.EnhancedGrid" id="gridNode" jsid="grid" store="store">
<thead>
<tr>
  <th get="formatThisColumn">A Computed Column</th>
</tr>
</thead>
</table>

Beachten Sie die ‚formatThisColumn‘ Funktion: dies zumindest aufgerufen wird einmal pro Zeile im Datagrid, und bekommt den Index der Zeile (innerhalb der JSON Artikel) und ein Objekt übergeben, der den ‚aktuellen‘ Element enthält (mit dem ' i‘Index). Dies gibt Ihnen die ursprünglichen Werte aus der JSON-Antwort, während das Datagrid gerendert wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top