Alla rowdatabound hai a disposizione l'argomento e.row.dataitem, che contiene i dati del datasource relativi a quella riga della gridview. Il dataitem e un tipo gridviewrow, non un tablerow (come un gridview.rows(n).cells(m)), quindi non contiene solo i valori bindati ma bensì tutti i valori disponibili per quella riga del datasource.Originariamente inviato da RiminiRimini
Ciao a tutti, in asp.net ho creato un gridview che cambia immagine nel template a seconda del valore di una cella.
Ora vorrei rendere invisibile la cella da cui prendo il valore, ma questo comporta la perdita dei dati quando vado a leggerli nel rowbound.
Ora vorrei sapere se è possibile aggiungere un'immagine a fianco del testo della cella da cui prendo i valori.
I dati purtroppo li carico io a mano da codice.
Non penso si possa usare una datakeyname perchè da rowbound (o rowsdatauboun non ricordo e non posso vedere), non riesco a prenderla.
Cmq per concludere vorrei un'immagine ed un numero nella stessa rows. Utilizzando i template riesco (metto un'immagine ed una label).
Grazie
Quindi, se ti serve un valore che non vuoi visualizzare in griglia, e' sufficiente includerlo nel datasource per averlo nel dataitem all'evento rowdatabound.
Un altro sistema e' creare una function pubblica nel codebehind che riceve come parametri i Bind della griglia, e pilota la proprietà imageurl della immagine nella griglia stessa. Qualcosa del tipo:
<asp:image runat="server" imageurl='<%# caricaimmagine(container.dataitem("campo")) %>' />
In questo modo viene richiamata la funzione caricaimmagine al Bind della griglia, passando a parametro il valore del campo "campo", senza essere necessariamente visualizzato.
Ciao,
b.

Rispondi quotando