2012-04-24 18 views
10

Sto usando sqldatasource e un GridView. Voglio ottenere il valore di una cella da GridView nell'evento RowDataBound ?, Perché non riesco a utilizzare e.RowIndex.Come ottenere il valore di una cella nell'evento legato ai dati della riga? e come verificare se una cella è vuota?

Come verificare l'evento di aggiornamento se una cella è vuota? Ho usato if != null, ma non ha funzionato, quindi ho bisogno di verificare se è vuoto.

grazie

+0

aggiungere alcuni esempi di codice per mostrare ciò che u hanno fatto con il codice di – sharad

+0

io non sono a casa e io non ho il codice, ma ho preso il valore dal controllo texbox della cella per il GridView poi chekc if is! = null! . E per il primo non so cosa devo fare – Alexander

risposta

15

Nel RowDataBound eventi, è possibile ottenere il valore di una cella da GridView utilizzando il seguente codice:

[] // ottenere nome utente RFOM particolare riga

string servicename = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Name")); 

Nell'evento RowUpdating, è possibile verificare se la cella è vuota o meno, utilizzando il seguente codice:

string servicename = grdvw_showdetails.DataKeys[row.RowIndex][1].ToString(); 

Sopra il codice utilizza Datakey nell'evento di aggiornamento della riga. se non si desidera utilizzare il DataKey, il codice per verificare specifica cella è vuota o non è

TextBox txtaname = (TextBox)row.FindControl("txt_updname"); 

if(txtaname.text != null) 

EDIT:

Questa risposta è eccellente. Comunque vorrei aggiungere un po 'di commento. Quando si verificano i dati delle celle di riga all'interno dell'evento RowDatabound, la proprietà ItemArray della riga non è direttamente accessibile. Quindi, quando facciamo qualcosa di simile, è inutile: string val = e.Row.Cells[2].Text.ToString(); e genera un errore.

Ecco dove la prima linea di questa risposta entra. [1 ]

schermata seguente mostra l'albero/gerarchia delle proprietà sottostanti della riga quando si esegue un orologio in modalità di debug.

enter image description here

+0

+1 a OP e @giri. Non so cosa farei se non fosse per la comunità SO. È bello nascere più tardi, sembra;) quando le persone hanno attraversato queste mura e trovato grandi risposte: D Ho appena ascoltato la tua risposta per dare un impatto visivo, se non ti dispiace. – bonCodigo

+0

siete i benvenuti –

Problemi correlati