Pregunta

¿Cómo puedo conseguir el objeto de la fila seleccionada dojox.enhancedGrid? Estoy usando SelectionMode: 'single' p.ej. con botones de opción.

dijit.byId("gridViewWidget").selection.selectedIndex Devuelve el rowIndex. Pero, ¿cómo conseguir la rowObject de ese índice? Puedo conseguir la necesidad rowNode()But Lo que es el valor de la columna id de esa fila.

Su posible travarse el DOM HTML devuelto por rowNode() pero ¿hay alguna manera directa?

Actualmente estoy usando dijit.byId("gridViewWidget").store._dataArray[i] y pasando el índice devuelta. Esto funciona aunque parece _dataArray es una propiedad privada. Por lo que es seguro de usar?

¿Fue útil?

Solución

Soy nuevo en el dojo a mí mismo, pero esto debería ser útil si no es del todo correcta. En primer lugar, dojox.grid.enhancedGrid se construye en la parte superior de dojox.grid.DataGrid, así que echa un vistazo a la documentación aquí:

dojox.grid.DataGrid Documentación

  • grid.getItem(idx) devuelve la tienda 'tema' en el índice dado

  • devuelve grid.selection.getSelected() una matriz de los elementos seleccionados

debería ser capaz de utilizar cualquiera de estos para obtener el elemento que desee.

Otros consejos

El uso de marcado declarativo, se podía hacer algo así (de memoria, puede ser necesario ajustar para que sea funcional):

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

Tenga en cuenta la función 'formatThisColumn': esto se llama al menos una vez por fila de la cuadrícula de datos, y se pasa el índice de la fila (dentro de los elementos JSON) y un objeto que contiene el elemento 'actual' (a través del " i' índice). Esto le da a los valores originales de la respuesta JSON, mientras que la cuadrícula de datos se está representando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top