56 messaggi dal 15 dicembre 2005
www.beppesan.it
Ciao,
ho una gridView con una colonna che contiene un Button.
Se questo pulsante lo costruisco con il campo di tipo "ButtonField" riesco a catturare correttamente "e.CommandArgument" (all'interno di "GridView1_RowCommand"), ma non riesco a far diventare invisibile il pulsante; se invece lo costruisco con il "TemplateField" riesco a farlo diventare invisibile, ma non riesco a catturare "e.CommandArgument".

Eisite un metodo per far convivere entrambe le mie necessità?

Grazie & Ciao!

__
Beppesan
Quello che faccio
Be happy: Drink Beer
stai gestendo l'evento RowCommand? se così provato a recuperare in caso di TemplateField il bottone che scatena l'evento con e.CommandSorce?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
56 messaggi dal 15 dicembre 2005
www.beppesan.it
No, sto gestendo l'evento "GridView1_RowDataBound".

Nella gridView il bottone è dichiarato così:
<asp:ButtonField ButtonType="Button" HeaderText="chiudi lavoro" Text="stop" CommandName="stoppa"/>

__
Beppesan
Quello che faccio
Be happy: Drink Beer
l'evento RowDataBound non serve a "catturare" eventi generati direttamente dall'utente, ma per intercettare quando ogni riga viene associata ai dati, utile se vuoi customizzare l'associazione.

quindi per catturare il click su un bottone devi Gestire RowCommand.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
56 messaggi dal 15 dicembre 2005
www.beppesan.it
Il click sul pulsante viene gestito correttamente all'interno di "GridView1_RowCommand".

Il mio problema è che questo pulsante non deve essere sempre visibile, ma deve esserlo solo in determinate circostanze (eseguo un controllo su altri campi compresi all'interno della riga del gridview).
Quindi io all'interno di "GridView1_RowDataBound" eseguo i controlli ed eventualmente vorrei rendere invisibile il pulsante.

Spero di aver spiegato meglio qual è il problema

__
Beppesan
Quello che faccio
Be happy: Drink Beer
ok, ritorniamo al TemplateField e al CommandArgument cosa vorresti recuperare?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
comunque nel caso del ButtonField


 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if(e.Row.RowType == DataControlRowType.DataRow & e.Row.RowState == DataControlRowState.Normal | e.Row.RowState == DataControlRowState.Alternate )
        {
            e.Row.Cells[0].Controls[0].Visible = false;
        }
        
    }


il primo indice è rappresenta la colonna del GridView dove si trova la "ButtonField" il secondo può dipendere se hai abilitato o meno edit insert o altro

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.