Gridview e celle

giovedì 23 luglio 2009 - 11.50

benedetto_campi Profilo | Newbie

salve a tutti...
vorrei chiedervi una cosa.
in una pagina interrogo un datatbase, salvo il risultato in un datatable e lo bindo con un gridview.
il risultato della query ha 2 comportamenti fissi...
il primo è che non restituisce nessun valore
il secondo è che mi restituisce una sola riga contenente 2 valori numerici

il problema è questo....come posso fare per prendere quei due numeri? nel senso esiste un accesso posizionale? se non esiste come potrei fare? e nel caso in cui non mi restituisce nessun valore la query(il gridview dovrebbe essere vuoto quindi) mi solleverebbe un errore l accedere ad una cella inesistente?
grazie a tutti e scusate per le innumerevoli domande


-------modifica-----
dunque...l accesso posizionale l ho risolto in questo modo
gvdati.Rows[0].Cells[0]
gvdati.Rows[0].Cells[1]
e mi prendo i 2 valori che mi interessano...ma come fare se la gridview non contiene dati?
devo controllare se gvdati==null?

Jok83 Profilo | Junior Member

Ciao

io ho una situazione simile e mi sembra che quando non ho righe sia a nothing
if gvdati1 is not nothing prendi i valori come hai scritto sopra

spero sia d'aiuto ciao!

benedetto_campi Profilo | Newbie

ma dici is nothing come se fosse un metodo? perchè in questo caso non esiste se faccio
if(gvdati.isNothing)
oppure intendi
if(gvdati != nothing)

Jok83 Profilo | Junior Member

a scusa io uso vb e nella mia per esempio scrivo

if grid1 is not nothing then ecc.

in C credo sia la seconda la logiaca è diverso da nothing

oppure non so se ti va in errore potresti provare anche con grid.rows.count>0
fammi sapere

benedetto_campi Profilo | Newbie

mmmm continua a non funzionare... ho provato la seguente cosa

string j = "0";
if(gvdati.Rows.Count > 0)
j = gvdati.Rows[0].Cells[0].Text;
row["Quantità07"] = Convert.ToSingle(j);
la cosa bella però è che se metto un breakpoint e controllo i contenuto di count mi da 1 (quindi la riga esiste) ma nel momento in cui controllo il valore di j mi dice che j vale &bspn;

Jok83 Profilo | Junior Member

mmh fammi capire passa l'if quindi c'è almeno una riga con valori giusto (se tu vai in debug sud dgvdati.row(0).item(0) vedi i dati o è vuota ne tuo esempio?
se metti l'if così

if dvgdat.rows.count>0
if dvgdati.row(0).item(0)!=null ' o meglio traduci questa in C dvgdati.row(0).itemo(0) <>dbnull.value
'fai quello che fai
end if
end if

benedetto_campi Profilo | Newbie

if (gvdati.Rows.Count > 0) { if (gvdati.Rows[0].Cells[0].Text != "&nbsp;") { j = gvdati.Rows[0].Cells[0].Text; k = gvdati.Rows[0].Cells[1].Text; } }
alla fine ho risolto in questo modo...evidentemente per come è strutturata la gridview mi crea comunque una riga (quindi il count è sempre >0 ) però nel caso in cui non abbia dati inserisce il valore &nbsp;

grazie per l aiuto e buon proseguimento/lavoro/quello che stai facendo

Jok83 Profilo | Junior Member

Bene, grazie buon lavoro anche a te!Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5