Sto cercando di far funzionare la mia subgrid con dati locali. Tuttavia, quando faccio clic su Espandi, ottengo solo una finestra di caricamento come se la griglia stia tentando di estrarre i dati da qualche parte. Presumo che non sia necessario un subGridUrl
poiché il tipo di dati della griglia principale è datatype:'local'
. C'è qualcos'altro che dovrei fare?jqGrid Subgrid con dati "locali"
8
A
risposta
21
Non esiste un modo diretto per definire la subgrid con i dati locali, ma è possibile implementare in modo relativamente semplice lo stesso comportamento utilizzando subGridRowExpanded
(Subgrid as Grid). Quello che si deve fare è semplicemente ottenere da alcune strutture interne i dati per la subgrid dal rowid della griglia. Per esempio, se si avrebbe subgrids mappa come
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"}
]
};
All'interno di subGridRowExpanded
è possibile creare sotto-griglia con il seguente codice:
$("#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 mostra i risultati in diretta:
Problemi correlati
- 1. Subgrid jqgrid espandibile
- 2. jqGrid rimuove le intestazioni di colonna da subgrid
- 3. jqGrid non viene compilato con i dati
- 4. jqGrid Dati remoti, ordinamento locale
- 5. JQgrid set row height
- 6. jqGrid disabilitazione evidenziazione riga
- 7. ricaricare un jqGrid caricato con dati di tabella diversi
- 8. Impaginazione lato client con jqGrid
- 9. jqGrid con colori cella personalizzati
- 10. jqGrid getData restituisce solo i dati per la pagina corrente
- 11. Popola ExtJS combobox 3.4 con i dati JSON locali
- 12. Carica dati locali nel server notebook IPython
- 13. NSIncrementalStore - Utilizzo di dati locali e remoti
- 14. È possibile esportare una subgrid in griglia angolare
- 15. Proposta per dichiarazioni/istanze di dati locali
- 16. WKWebView con file locali
- 17. Finalizzazione modifica in jqGrid
- 18. Branching SVN con modifiche locali
- 19. JQGrid - Multiselect
- 20. jqGrid: utilizzo di più metodi per filtrare i dati
- 21. Problema di stile JQgrid con Twitter Bootstrap
- 22. jqgrid load data array
- 23. jqGrid (Elimina riga) - Come inviare ulteriori dati POST?
- 24. jqGrid Column DateTime Formatting
- 25. Come ottenere la riga dati selezionata in jqGrid
- 26. JQuery e JqGrid recuperano i dati dalla riga
- 27. Barre dati nella cella in jqGrid - possibili o no?
- 28. Come integrare JQGrid con Django/Python
- 29. reattivo/fluido jQGrid con Twitter Bootstrap
- 30. Migliora progressivamente la tabella HTML con jqGrid?
Grande rispondi Oleg. Lo implementerò nel mio codice! In realtà sto usando questo insieme al Drag and Drop da una griglia all'altra (dalla mia altra [domanda] (http://stackoverflow.com/questions/10146892/jqgrid-drag-and-drop-row-check)) . – FastTrack
@FastTrack: sei il benvenuto! – Oleg
@ oleg Ottima risposta, mi ha aiutato in un grosso problema anche se posso revocarlo solo una volta. :( –