Come si ottiene l'oggetto riga sulla riga selezionata in jqGrid? Ho bisogno dell'oggetto reale, non del valore di cella. Ho esaminato la documentazione ma non sono riuscito a trovare un metodo che mi fornisse l'oggetto riga. dal momento che utilizzo i formattatori personalizzati, il valore cellValue non funzionerà.jq Oggetto riga griglia in onSelectRow
risposta
Se si implementa custom formatter e vuole ottenere il valore della cella rispetto di getCell o getRowData è necessario implementare la funzione unformat anche.
Non è chiaro cosa intendi in "Ho bisogno dell'oggetto reale, non del valore di cella". Inoltre, non è chiaro quale sia il datatype
utilizzato, indipendentemente dal fatto che si usi o meno l'opzione loadonce: true
e se si caricano i dati dal server in quale formato i dati verranno inviati al server.
Se si utilizza datatype: 'local'
o si utilizza loadonce: true
i parametri interni data
e _index
verranno riempiti. Per ottenere dati grezzi dalla griglia da rowid
è possibile utilizzare
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]];
Se non si utilizza datatype: 'local'
o utilizzare loadonce: true
e caricare i dati dal server solo tu puoi salvare l'oggetto rappresentato i dati dalla risposta del server in una variabile (in un oggetto). Il gestore di eventi loadComplete
ha un parametro data
che rappresenta i dati non elaborati pubblicati dal server. In questo modo è possibile salvare i dati di cui si ha bisogno in un oggetto (in una mappa che otterrà oggetto oggetto da rowid) e utilizzarlo all'interno del gestore di eventi onSelectRow
.
È possibile utilizzare i getInd e getLocalRow metodi:
onSelectRow: function(rowid) {
var row = $(this).getLocalRow(rowid);
// do something with row
}
nel mio progetto:
ondblClickRow : function(rowid,iRow,iCol,e) {
$($("#completeDetail").getInd(rowid,true)).find(":first").click();
}
Questo risolverebbe il fila aumento non trovare cercando la fila
utilizzare questa funzione ->getInd(rowid,rowcontent)
.
Questo metodo restituisce l'indice della riga nella tabella della griglia specificata da id=rowid
quando rowcontent è impostato su false (impostazione predefinita). Se rowcontent è impostato su true, restituisce l'oggetto della riga di input. Se non è possibile trovare il rowid, la funzione restituisce false.
- 1. JQ Filtro sulla sub valore di oggetto
- 2. come modificare un oggetto nidificato con JQ
- 3. Modifica colore sfondo riga griglia in WPF
- 4. Telegramma con riga di griglia
- 5. Dimensioni oggetto diverse in una griglia raggruppataView
- 6. Modifica riga griglia - collegamento dinamico a DropDownList
- 7. Selezionare a livello di riga riga griglia Kendo
- 8. Uso di jq per elencare le chiavi in un oggetto JSON
- 9. ExtJS Griglia Elimina riga - Getting Row
- 10. Aggiorna una singola riga della griglia Kendo
- 11. JQ: selezionare più condizioni
- 12. jq Modifica cella Grid - Fare doppio clic per modificare?
- 13. Applicare regex su JQ
- 14. griglia all'interno Griglia in XAML
- 15. Evidenziazione/selezione della riga della griglia in ExtJS
- 16. Come si scorre una riga della griglia in WPF/XAML?
- 17. Ottenere il numero di riga assoluto in una griglia
- 18. Creazione di un'intera riga selezionabile in una vista a griglia
- 19. Come si inserisce una riga/colonna in una griglia WPF?
- 20. Campi Concat 2 in JSON utilizzando jq
- 21. Selezionare gli oggetti in base al valore della variabile oggetto utilizzando JQ
- 22. Come verificare se c'è un array o un oggetto in jq?
- 23. Come convertire un flusso oggetto JSON in una matrice con JQ
- 24. jq date e unix timestamp
- 25. JQ: escludere embedded chiavi specificate
- 26. Escludi colonna dall'uscita jq json
- 27. Animazione della griglia o della griglia in XAML?
- 28. JSON JQ se non altro
- 29. appiattire un documento JSON utilizzando JQ
- 30. Utilizzo di jq per dividere una stringa in oggetti nidificati
Grazie per questo, mi ha indirizzato nella giusta direzione – SystemParadox
@SystemParadox: siete i benvenuti! Vi consiglio di esaminare ulteriormente il metodo 'getLocalRow'. Guarda [la risposta] (http://stackoverflow.com/a/9145342/315935) o [un altro] (http://stackoverflow.com/a/10362294/315935) per alcuni piccoli esempi di codice e ulteriori informazioni. [Il codice sorgente] (https://github.com/tonytomov/jqGrid/blob/v4.3.2/js/grid.base.js#L3494-3505) del metodo è molto piccolo e ti consiglio di leggerlo anch'io . – Oleg
Devo ammettere che l'ho sempre trascurato, ma la memorizzazione dei dati per un utilizzo successivo sul caricoComplete è una funzionalità molto preziosa. Dal momento che non uso mai datatype: 'local' o loadonce: true. Mi chiedo anche perché non è memorizzato di default in una sorta di proprietà 'rawdata'. Comunque grazie per avermelo fatto notare Oleg. +1 – Steven