Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
E.NewValues....
lunedì 11 febbraio 2008 - 12.16
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
toniovigi
Profilo
| Expert
540
messaggi | Data Invio:
lun 11 feb 2008 - 12:16
{
Label1.text = e.NewValues[3].tostring();
}
Mi da l'errore dicendo :
Riferimento a un oggetto non impostato su un istanza di oggetto
Questa parte di codice si trova dentro all'evento RowUpdated di una gridview.
Vi dico inoltre che l'errore mi viene dato quando aggiorno\modifico il campo della gridview lasciandolo VUOTO.
Perchè??
grazie
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 14:12
Scusa, ma non è lo stesso problema di prima??
se quel campo non è inizializzato non puoi applicarci nessun metodo e quindi non tornerà nulla quel tostring().
Penso, non ne sono sicurissimo, che il campo text di un label non accetti valore null.
toniovigi
Profilo
| Expert
540
messaggi | Data Invio:
lun 11 feb 2008 - 14:15
ho provato anche a non usare ma mettere un stringa ma nada,
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 14:19
>ho provato anche a non usare ma mettere un stringa ma nada,
Cioè?? Puoi postare il codie della prova che hai fatto?
toniovigi
Profilo
| Expert
540
messaggi | Data Invio:
lun 11 feb 2008 - 14:21
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
Label1.text = e.NewValues[2].toString();
}
Quando aggiorno o modifico il campo e in quel campo non cè nulla mi dice : Riferimento a un oggetto non impostato su un istanza
o anche provato a fare
string prova=null;
prova = e.NewValues[2].toString();
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 14:40
>protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs
>e)
> {
>
> Label1.text = e.NewValues[2].toString();
>
>
> }
>
>Quando aggiorno o modifico il campo e in quel campo non cè nulla
>mi dice : Riferimento a un oggetto non impostato su un istanza
>
>o anche provato a fare
>
>string prova=null;
>
>prova = e.NewValues[2].toString();
>
>
Non puoi usare "e.NewValues[2].toString();" a destra di un'assegazione quando il suo valore è null.
"string prova=null" è inutile, non aggiunge nulla di nuovo.
prova a scrivere solamente:
e.NewValues[2].toString();
e vedi che ti dice il compilatore, adesso non ricordo se già qui ti da errore, ma forse no.
Quando tu scrivi prova=........... al posto dei puntini devi avere un valore, e non un "punatore a null".
toniovigi
Profilo
| Expert
540
messaggi | Data Invio:
lun 11 feb 2008 - 14:48
quindi cosa posso mettere per provare?
ho provato a mettere solo
e.NewValues[2].ToString(); ma mi da lo stesso errore
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 14:51
Quando fai l'update inserisci un qualsiasi valore anche " ".
Se devi solo visuliazzare i dati e quindi non hai bisogno di un null reference, potrebbe andare.
Prova così, senza tantio check. Se vedi che può fare al caso tuo fai un check sul campo dati prima di usarlo come stringa:
se punta ad un valora, ok, procedi, se non lo inizializzi con " ".
toniovigi
Profilo
| Expert
540
messaggi | Data Invio:
lun 11 feb 2008 - 14:53
ma cosi tu mi stai dicendo:
quando io apro la mia gridview, e so che un campo deve rimanere vuoto, batto un carattere tipo spazio, cosi la casella rimane sempre vuota..xo cosi nn risolvo, a me serve sapere che se cè un campo vuoto m dice k e vuoto
ho provato cosi:
if(string.IsNullOrEmpty(e.NewValues[2].ToString())) Label1.Text="VUOTO"
else Label1.Text="Piena";
cosi controlla..ma stesso errore su E.newValues[2].toString.
ma come cacchio le recupero sti valori?
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 14:58
Scusa, ma allora perchè usi una label??????????
Al massimo fai un check e poi fai label.text="Il campo pippo è vuoto", ma non puoi usare un null reference per valorizzare quel campo.
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 14:58
Scusa, ma allora perchè usi una label??????????
Al massimo fai un check e poi fai label.text="Il campo pippo è vuoto", ma non puoi usare un null reference per valorizzare quel campo.
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 14:59
Non puoi usare il tostring()!!!!!
Prima controlla se è null refrence. Se non lo è puoi usare il to string.
E' come gli dicessi converti in stringa il nulla.
toniovigi
Profilo
| Expert
540
messaggi | Data Invio:
lun 11 feb 2008 - 15:00
guarda ho messo cosi
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
if (string.IsNullOrEmpty(e.NewValues[2].ToString())) Label1.Text = "VUOTO";
else Label1.Text = "Piena";
}
sempre stesso problema, se becca il campo vuoto incvece di dirmi vuoto mi dice sempre il solito errore
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 15:04
>guarda ho messo cosi
>
>
>protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs
>e)
> {
>if (IsNullOrEmpty(e.NewValues[2])) Label1.Text
>= "VUOTO";
> else Label1.Text = e.NewValues[2].tostring();
>
> }
>
>
>sempre stesso problema, se becca il campo vuoto incvece di dirmi
>vuoto mi dice sempre il solito errore
Prova così! Non ricordo esattamente la sintassi e non ho qui installata l'ide per provare.
Devi vedere se e.NewValues[2] è null o meno. Se non è nulla puoi usare il tostring.
toniovigi
Profilo
| Expert
540
messaggi | Data Invio:
lun 11 feb 2008 - 15:07
e.NewValues[2] nn è null ma puo anche esserlo.
Se io c scrivo qualcosa dentro lo visualizza, se cancello e lascio la cella vuota, m da l'errore, mi sa che neanke tu sai dirmi il xke...
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 15:11
No, infatti non riesco a spiegarmi.
Ho quetsa cella. OK??
Testo se ha qualche valore.
Se si posso fare il to string, se no non posso farlo.
Tu dai per socntato che sia una stringa e che accetti il tostring mentre in realtà non è così.
Hai visto che ho corretto il tuo codice sopra??
Non puoi fare un tostring prima di sapere se è null reference. Prima testo e poi facico il tostring.
toniovigi
Profilo
| Expert
540
messaggi | Data Invio:
lun 11 feb 2008 - 15:16
if (IsNullOrEmpty nn s puo fare...
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 15:23
INfatto ho premesso che non ricordo il nome dei mtodi da usare.. Prima pepe ti ha consigliato:
if e.newvalues[1] != dbnull.value label2.text=e.newvalues[1].tostring.
Comunque soprati ho descritto l'algoritmo. I metodi trovali tu.
Prendo la cella-> controllo che abbia un valore->
-->Si?? ok, allora posso fare to string
-->no?? non posso fare un'assegnazione usando la cella. Metto io un valore valido!
toniovigi
Profilo
| Expert
540
messaggi | Data Invio:
lun 11 feb 2008 - 15:32
mmmm io se nn vedo esempi pratici vado in palla...e da 2 giorni che sono sopra sto problema e nn c kredo k nn ho risolto
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 11 feb 2008 - 15:39
if e.newvalues[2] != dbnull.value label2.text=e.newvalues[2].tostring
else label2.text="pippo"
toniovigi
Profilo
| Expert
540
messaggi | Data Invio:
lun 11 feb 2008 - 15:46
ma sto Dbnull nn esiste!!!!!!!!!!!cosa devo mettere???
Torna su
Stanze Forum
Elenco Threads
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 !