Domanda

Ho inserito un DropDownList in un'EditItemTemplate all'interno di una GridView e mi piacerebbe riempire questo DropDownList con elementi in base a un valore in un'altra GridView-Colonna sulla stessa riga.

Lasciate che vi faccia un esempio:

Se gli sguardi delle righe come questo:

Itemname, string, TextBox, (editbutton)

Voglio il clic su EditButton per trasformare la stringa "TextBox" in una DropDownList con le opzioni "TextBox" o "DropDownList", ma se l'aspetto delle righe come questo:

Itemname, bool, CheckBox, (editbutton)

Voglio la discesa per unica caratteristica "casella di controllo" e "RadioButton".

Quindi, logicamente, ho bisogno di accesso a) la colonna che contiene il valore del tipo di dati di campo (stringa o bool) e b) l'accesso a discesa-List di modificare i propri articoli all'interno del GridView_RowEditing-evento.

I già riuscito a fare a), qualcuno può aiutarmi in b)?

Il mio codice attualmente appare così:

        protected void gridVariables_RowEditing(object sender, GridViewEditEventArgs e)
    {
        switch (gridVariables.Rows[e.NewEditIndex].Cells[2].Text)
        {
            case "string":
            case "double":
            case "long":
                break;
            case "bool":
                break;
            default:
                break;
        }
        gridVariables.EditIndex = e.NewEditIndex;
        gridVariables_DataBind();
    }

Grazie,

Dennis

È stato utile?

Soluzione

Dal momento che non è stato pubblicare il codice GridView mi limiterò a fare questo in pseudo codice

In your rowdatabound Event handler
Check if the row is the edit row
ddl.Items.Clear()
if (dataitem is textbox or ddl)
   ddl.items.add("textBox");
   ddl.items.add("DDL");
else
   ddl.items.add("CB");
   ddl.items.add("RB");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top