Question

Comment puis-je obtenir l'objet de ligne sélectionnée dojox.enhancedGrid? J'utilise selectionMode: « single » par exemple. avec des boutons radio.

dijit.byId("gridViewWidget").selection.selectedIndex Retourne le rowIndex. Mais comment obtenir le rowObject de cet indice? Je peux obtenir la rowNode()But Ce que je besoin est la valeur de la colonne identifiant de cette ligne.

Il est possible de travarse le code HTML DOM retourné par rowNode() Mais Y at-il aller de l'avant droit?

Je suis actuellement en utilisant dijit.byId("gridViewWidget").store._dataArray[i] et en passant l'index retourné. Bien que cela fonctionne, il semble _dataArray est une propriété privée. Est-il sûr d'utiliser?

Était-ce utile?

La solution

Je suis nouveau à moi-même dojo, mais cela devrait être utile si pas tout à fait correct. tout d'abord dojox.grid.enhancedGrid est construit sur dojox.grid.DataGrid, vérifier la documentation ici:

Documentation dojox.grid.DataGrid

  • grid.getItem(idx) retourne la boutique 'item' à l'index donné

  • grid.selection.getSelected() renvoie un tableau des éléments sélectionnés

Vous devriez être en mesure d'utiliser l'une de ces pour obtenir l'élément que vous voulez.

Autres conseils

En utilisant le balisage déclaratif, vous pouvez faire quelque chose comme (de la mémoire, peuvent avoir besoin de peaufinage pour être fonctionnel):

<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>

Remarque la fonction « formatThisColumn »: cette est appelée au moins une fois par rangée dans la grille, et est transmis l'index de la ligne (dans les articles JSON) et un objet qui contient l'élément « courant » (selon la i indice »). Cela vous donne les valeurs d'origine de la réponse JSON alors que le DataGrid est rendu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top