Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    68

    impostare un selectedValue in un menu a tendina dentro una GridView: come fare?

    Ciao a tutti!
    Ho una Gridview, contenente un campo <EditItemTemplate>, dove ho inserito una DropDownList (che vado a popolare dinamicamente con 4 items predefiniti, ad esempio:
    1)foo
    2)bar
    3)pippo
    4)pluto ).

    Poniamo che il campo della Gridview mostri l'item "pippo" e voglio editarlo:
    Quando vado a fare l'edit sulla DropDownList di prima, mi ritrovo sempre selezionata la 1a item, in questo caso:"foo"; invece vorrei ritrovarmi l'tem "pippo".
    Quindi come faccio a impostare il SelectedValue col valore "vecchio" prima di selezionare quello nuovo?
    Vi ringrazio in anticipo per la pazienza ragazzi, vi allego il codice del CodeBehind

    codice:
     protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    
        {    
                
            if((e.Row.RowState == DataControlRowState.Edit)||    
              (e.Row.RowState == (DataControlRowState.Alternate |    
                                  DataControlRowState.Edit)) )    
            {    
                
                //popola la dropddownlist 
                DropDownList ddl1 = (DropDownList)e.Row.FindControl("DropDownList1");    
                //items predefinite di questo menu a tendina    
                ddl1.Items.Add("foo");    
                ddl1.Items.Add("bar");    
                ddl1.Items.Add("pippo");    
                ddl1.Items.Add("pluto");    
            }    
        
        }    
         
        
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)    
        {    
            //indice della riga editata    
            int index = GridView1.EditIndex;    
        
            //ottieni la riga editata della GridView    
            GridViewRow row = GridView1.Rows[index];    
        
            //ottieni i controlli che contengono i valori aggiornati    
            DropDownList ddl1 = (DropDownList)row.Cells[4].FindControl("DropDownList1");    
                
            //Aggiungi i valori aggiornati al dizionario NewValues    
            e.NewValues["categoria"] = ddl1.SelectedValue;    
        }

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    68
    Con le immagini si capirà meglio
    Quando visualizzo la gridview, la voce visualizzata è "pippo"



    Se premo il bottone "Modifica", la prima voce del menu a tendina è "foo", anzichè "pippo"


    Nel code behind dovrei fare qualcosa tipo:
    miaItem.selectedValue = "vecchiaItem"
    ma non so come fare a livello di codice!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.