Il pulsante Aggiungi barra degli strumenti consente di aggiungere una nuova riga a jqgrid. Aggiungi il modulo che appare contiene tutti i file vuoti. Come impostare i valori dei campi modulo da valori di colonna dalla riga che era corrente/selezionata quando è stato emesso il comando add? json dati remoti viene utilizzato. O se questo è più semplice, come chiamare il metodo server passando la riga corrente/selezionata per recuperare i valori predefiniti per aggiungere il modulo dal server?Come impostare i valori di campo predefiniti per il modulo di aggiunta in jqgrid dalla riga corrente
jqgrid contiene anche colonne nascoste. Se possibile, i valori da colonne nascoste dalla riga corrente devono anche essere inviati per aggiungere il controller se viene salvato il modulo di aggiunta.
Aggiornamento
Ho cercato di usare Oleg grande suggestione utilizzando
afterShowForm: function(formID) {
var selRowData,
rowid = grid.jqGrid('getGridParam', 'selrow');
if (rowid === null) {
// todo: how to cancel add command here
alert('Please select row');
return;
}
selRowData = grid.jqGrid('getRowData', rowid);
if (selRowData === null) {
alert('something unexpected happened');
return;
}
$('#' + 'Baas' + '.FormElement', formID).val(selRowData.Baas);
}
applicazione mantiene aggiungere forma aperta dopo il salvataggio. Dopo aver salvato per la prima volta il campo Baas è vuoto. Sembra che l'evento afterShowForm venga eseguito una sola volta, non dopo ogni salvataggio. Come risolvere questo problema in modo che possano essere aggiunte più righe con valori predefiniti senza chiudere il modulo di aggiunta? Come annullare o non consentire il comando Aggiungi se non ci sono righe selezionate?
Grazie. In alcuni casi è necessario impostare i valori predefiniti per i campi di completamento automatico jqueryUI utilizzati per l'immissione di una chiave esterna da tabelle di ricerca di grandi dimensioni.il completamento automatico è implementato come elemento di modifica personalizzato. Si prega di confermare, è il modo migliore per utilizzare beforeShowForm in questo caso? Dovremmo usare beforeShowForm in altri campi anche per evitare di mescolare due metodi per impostare il valore predefinito? Dove trovare il codice di esempio che imposta il valore predefinito del campo di completamento automatico jqueryui in forma di aggiunta? Esempio di codice – Andrus
nelle chiamate di esempio di risposta 'grid.jqGrid ('getGridParam', 'selrow');' due volte – Andrus
@Andrus: non posso dire quale sia * la migliore *. Può dipendere da molti parametri. jQuery UI Autocomplete 'source' offre molte possibilità su come ottenere i dati dal server, quindi dovresti scegliere da te quale sia il modo * migliore per il tuo ambiente *. Ho appena descritto due modi in cui entrambi possono essere implementati correttamente. – Oleg