¿Cómo obtengo el objeto de fila en la fila seleccionada en jqGrid? Necesito el objeto real, no el valor de celda. Revisé la documentación pero no pude encontrar un método que me proporcione el objeto fila. dado que uso formateadores personalizados, el valor de celda no funcionará.Objeto de fila jqGrid en onSelectRow
Respuesta
Si implementa custom formatter y desea obtener el valor de la celda con respecto a getCell o getRowData usted tiene que poner en práctica unformat función también.
No está claro a qué se refiere en "Necesito el objeto real, no el valor de celda". Tampoco está claro qué datatype
utiliza, ya sea que utilice la opción loadonce: true
o no, y si carga los datos del servidor en cuyo formato se publicarán los datos en el servidor.
Si utiliza datatype: 'local'
o utilizar loadonce: true
se llenarán los internos data
y _index
parámetros. Para obtener los datos en bruto de la red por rowid
puede utilizar
var rowData = this.p.data[this.p._index[rowid]]
o
var grid = $(this),
localdata = grid.jqGrid('getGridParam', 'data'),
indexes = grid.jqGrid('getGridParam', '_index'),
rowData = localdata[indexes[rowid]];
Si usted no usa o usa datatype: 'local'
loadonce: true
y cargar los datos desde el servidor sólo se puede guardar el objeto representó los datos de la respuesta del servidor en una variable (en un objeto). El controlador de eventos loadComplete
tiene un parámetro data
que es la información sin procesar publicada desde el servidor. Por lo tanto, puede guardar los datos que necesita en un objeto (en un mapa que obtendrá el objeto yut por rowid) y usarlos dentro del controlador de eventos onSelectRow
.
Puede utilizar los getInd y getLocalRow métodos:
onSelectRow: function(rowid) {
var row = $(this).getLocalRow(rowid);
// do something with row
}
en mi proyecto:
ondblClickRow : function(rowid,iRow,iCol,e) {
$($("#completeDetail").getInd(rowid,true)).find(":first").click();
}
Esto resolvería la fila aumento no encontrará en busca de la fila
utilice esta función ->getInd(rowid,rowcontent)
.
Este método devuelve el índice de la fila en la tabla de grillas especificada por id=rowid
cuando rowcontent se establece en falso (valor predeterminado). Si rowcontent se establece en verdadero, devuelve el objeto de la fila de entrada. Si no se puede encontrar el rowid, la función devuelve falso.
- 1. JQgrid establecer altura de fila
- 2. jqGrid fila fondo alterno
- 3. jqGrid deshabilitar resaltado de fila
- 4. JQGrid Programemente selecciona cuadrícula Fila
- 5. Jqgrid: navegación basada en la fila seleccionada
- 6. cómo mantener la fila actual en jqgrid
- 7. jQgrid: encabezados de fila de columnas múltiples
- 8. JQgrid: valor específico de una fila seleccionada
- 9. Cómo editar o agregar una nueva fila en jqGrid
- 10. jqGrid resalte la nueva fila agregada
- 11. ¿Volver a cargar una sola fila jqGrid?
- 12. Datos de fila de acceso en el formateador personalizado jqGrid
- 13. jqGrid no guarda las ediciones de fila en línea
- 14. Cómo obtener la fila de datos seleccionada en jqGrid
- 15. Agregar un botón a una fila en jqgrid
- 16. Recuperación de datos de fila originales de jqGrid
- 17. ¿Es posible detener la selección de jqGrid fila (s) y/o resaltar?
- 18. jqGrid - ¿Cómo podemos hacer una fila de detalle personalizado
- 19. ¿Cómo se selecciona mediante programación la fila superior de JQGrid?
- 20. JQuery y JqGrid recuperan datos de la fila
- 21. ¿Cambiar rowId en jqgrid?
- 22. jqGrid (Eliminar fila) - ¿Cómo enviar datos POST adicionales?
- 23. cuadrícula de recarga jqgrid después de la actualización en línea/creación en línea exitosa del registro
- 24. selector de fecha en jqGrid, ejemplo simple?
- 25. Botón de eliminación personalizada en jqGrid
- 26. jqGrid número formateador uso
- 27. ¿Jqgrid es compatible con la altura de fila para que pueda mostrar múltiples líneas en una fila?
- 28. ¿Cómo agrego datepicker en el cuadro de diálogo agregar fila en jqGrid?
- 29. de validación en jqGrid
- 30. JQGrid: carga de datos en la fila del pie de página
Gracias por esto, me apuntó en la dirección correcta – SystemParadox
@SystemParadox: ¡De nada! Te recomiendo que también examines el método 'getLocalRow'. Mire [la respuesta] (http://stackoverflow.com/a/9145342/315935) u [otro más] (http://stackoverflow.com/a/10362294/315935) para ver ejemplos de códigos pequeños e información adicional. [El código fuente] (https://github.com/tonytomov/jqGrid/blob/v4.3.2/js/grid.base.js#L3494-3505) del método es muy pequeño y te recomiendo que lo leas también . – Oleg
Debo admitir que siempre lo he pasado por alto, pero el almacenamiento de los datos para su posterior uso en loadComplete es una funcionalidad muy valiosa. Como nunca utilizo datatype: 'local' o loadonce: verdadero. Incluso me pregunto por qué no está almacenado por defecto en algún tipo de propiedad 'rawdata'. De todos modos, gracias por señalarlo Oleg. +1 – Steven