TemplateField e GridView

martedì 23 gennaio 2007 - 11.05

pippopanni Profilo | Newbie

Sto creando un controllo che inserito all'interno di una GridView
dovrebbe mostrare una colonna personalizzata con una immagine, quando
si preme su di essa viene generato un post back inviando la chiave
della riga selezionata.

Ho creato una classe che deriva da TemplateField e associato alla
proprietà ItemTemplate l'istanza di un'altra classe che implementa
ITemplate e che disegna l'immagine e genera il postback.


Il mio problema è trovare la chiave della tabella da utilizzare nella
classe che disegna l'immagine.


Grazie
pippopanni

alx_81 Profilo | Guru

>Sto creando un controllo che inserito all'interno di una GridView
>dovrebbe mostrare una colonna personalizzata con una immagine,
>quando
>si preme su di essa viene generato un post back inviando la chiave
>della riga selezionata.
>
>Ho creato una classe che deriva da TemplateField e associato
>alla
>proprietà ItemTemplate l'istanza di un'altra classe che implementa
>ITemplate e che disegna l'immagine e genera il postback.
Ciao
Una domanda, non potevi utilizzare semplicemente un ImageButton? Oppure hai proprio l'esigenza di ereditare?
Con l'ImageButton ed i suoi eventi, puoi facilmente reperire le informazioni di chiave..
>
>
>Il mio problema è trovare la chiave della tabella da utilizzare
>nella
>classe che disegna l'immagine.
>
>
>Grazie
>pippopanni
>
>

Alx81 =)

http://blogs.dotnethell.it/suxstellino

pippopanni Profilo | Newbie

>Ciao
>Una domanda, non potevi utilizzare semplicemente un ImageButton?
>Oppure hai proprio l'esigenza di ereditare?
>Con l'ImageButton ed i suoi eventi, puoi facilmente reperire
>le informazioni di chiave..
>
>Alx81 =)

Ammettendo di utilizzare l'ImageButton e di lavorare facendo un override dell'onClick non riesco a capire quale propietà utilizzare per arrivare alla griglia.

Grazie

alx_81 Profilo | Guru

>Ammettendo di utilizzare l'ImageButton e di lavorare facendo
>un override dell'onClick non riesco a capire quale propietà utilizzare
>per arrivare alla griglia.

Ciao, ti rispondo ora, appena ho trovato un attimo di tempo dopo lavoro

Dunque, fossi in te non ridefinirei nemmeno l'onclick.. più ttosto gestirei 2 eventi della gridview..
il primo, RowCreated, nel quale vado ad impostare la proprietà CommandArgument del pulsante al valore della chiave della tabella.
Il secondo, RowCommand, nel quale vado a leggere il valore del command argument e faccio le operazioni con il valore ricavato.
Eccone un semplice esempio..

http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcommand.aspx

in questo link si accede all'indice della riga, ma utilizzando il datarowview del namespace System.Data, potrai accedere direttamente ai campi della tua source.. ad esempio, nella rowcreated:

Dim dr As System.Data.DataRowView = DirectCast(e.Row.DataItem, System.Data.DataRowView) If e.Row.RowType = DataControlRowType.DataRow AndAlso Not dr Is Nothing Then Dim myButton As ImageButton = CType(e.Row.FindControl("myButton"), ImageButton) myButton.CommandArgument = dr("ProductPhotoID") End If
>
>Grazie
di nulla!
ciao!
>

Alx81 =)

http://blogs.dotnethell.it/suxstellino
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5