Estoy tratando de hacer que mi sub-red trabaje con datos locales. Sin embargo, cuando hago clic en expandir, obtengo un cuadro de carga, como la cuadrícula está intentando extraer los datos de algún lugar. Supongo que no necesito un subGridUrl
ya que el tipo de datos de la cuadrícula maestra es datatype:'local'
. ¿Hay algo más que deba hacer?jqGrid Subgrid con datos "locales"
8
A
Respuesta
21
No hay una manera directa de definir subgrid con datos locales, pero puede implementar relativamente fácil el mismo comportamiento usando subGridRowExpanded
(Subgrid as Grid). Lo que hay que hacer es obtener de algunas estructuras internas los datos de la subred por el hilera de la grilla. Por ejemplo, si usted tendría mapa subcuadrículas como
var myGridData = [
// main grid data
{id: "m1", col1: "11", col2: "12"},
{id: "m2", col1: "21", col2: "22"}
],
mySubgrids = {
m1: [
// data for subgrid for the id=m1
{id: "s1a", c1: "aa", c2: "ab", c3: "ac"},
{id: "s1b", c1: "ba", c2: "bb", c3: "bc"},
{id: "s1c", c1: "ca", c2: "cb", c3: "cc"}
],
m2: [
// data for subgrid for the id=m2
{id: "s2a", c1: "xx", c2: "xy", c3: "xz"}
]
};
Dentro de subGridRowExpanded
puede crear inferior a la malla con el siguiente código:
$("#grid").jqGrid({
datatype: 'local',
data: myGridData,
colNames: ['Column 1', 'Column 2'],
colModel: [
{ name: 'col1', width: 200 },
{ name: 'col2', width: 200 }
],
...
subGrid: true,
subGridRowExpanded: function (subgridDivId, rowId) {
var subgridTableId = subgridDivId + "_t";
$("#" + subgridDivId).html("<table id='" + subgridTableId + "'></table>");
$("#" + subgridTableId).jqGrid({
datatype: 'local',
data: mySubgrids[rowId],
colNames: ['Col 1', 'Col 2', 'Col 3'],
colModel: [
{ name: 'c1', width: 100 },
{ name: 'c2', width: 100 },
{ name: 'c3', width: 100 }
],
...
});
}
});
The demo muestra los resultados en vivo:
Cuestiones relacionadas
- 1. Subgrid jqgrid desplegable
- 2. postData para subgrid en jqgrid no funciona?
- 3. Inhabilitar la expansión de subgrid para las filas seleccionadas de jqGrid
- 4. jqGrid no se llena con datos
- 5. jQuery cargando datos en jqGrid
- 6. jqGrid Datos remotos, ordenar localmente
- 7. JQgrid establecer altura de fila
- 8. jqGrid deshabilitar resaltado de fila
- 9. Asignación de datos JSON en JQGrid
- 10. Cómo actualizar los datos en un jqGrid?
- 11. datos de matriz de carga jqgrid
- 12. jqgrid setGridParam tipo de datos: local
- 13. Uso de datos de usuario de jqGrid
- 14. jqGrid getData solo devuelve datos para la página actual
- 15. Save File de datos locales en Javascript
- 16. bifurcación SVN con modificaciones locales
- 17. UIWebView cargar datos de video locales
- 18. Paginación del lado del cliente con jqGrid
- 19. SlickGrid Vs JQGrid
- 20. jqGrid con colores de celda personalizados
- 21. jqGrid - rowObject incoherencias?
- 22. JQGrid - Multiselect
- 23. Mejorar progresivamente la tabla HTML con jqGrid?
- 24. Cómo integrar JQGrid con Django/Python
- 25. jqGrid y lector JSON
- 26. jqgrid edittype seleccionar cargar valor a partir de los datos
- 27. jqGrid: uso de varios métodos para filtrar datos
- 28. jqGrid getRowData devuelve null
- 29. jqGrid (Eliminar fila) - ¿Cómo enviar datos POST adicionales?
- 30. Datos de fila de acceso en el formateador personalizado jqGrid
Gran responde Oleg. ¡Voy a implementar esto en mi código! En realidad, estoy usando esto junto con el método de arrastrar y soltar de la grilla a la grilla (de mi otra [pregunta] (http://stackoverflow.com/questions/10146892/jqgrid-drag-and-drop-row-check)) . – FastTrack
@FastTrack: ¡De nada! – Oleg
@oleg Excelente respuesta, me ayudó en un problema importante, aunque puedo votarlo una sola vez. :( –