Frage

Ich habe eine Dropdown-Liste in eine editItemTemplate in einem Rasterview eingefügt, und ich möchte diese Dropdown-Liste mit Elementen füllen, die auf einem Wert in einem anderen GridView-Säulen in derselben Zeile basieren.

Lassen Sie mich Ihnen ein Beispiel geben:

Wenn die Reihe so aussieht:

ItemName, Zeichenfolge, Textbox, (editbutton)

Ich möchte, dass der Klicken auf EditButton das Zeichenfolge "Textbox" in eine DropdownList mit den Optionen "Textbox" oder "DropdownList" umwandeln. Wenn die Zeile jedoch so aussieht:

ItemName, Bool, Kontrollkästchen, (editbutton)

Ich möchte, dass der Dropdown nur "Kontrollkästchen" und "Radiobutton" bietet.

Daher muss ich logischerweise auf a) auf die Spalte zugreifen, die den Wert des Datentypenfeldes (String oder Bool) und b) und b) auf die Dropdown-List zugreifen, um seine Elemente innerhalb des Events von GridView_rowediting zu ändern.

Ich habe es bereits geschafft, a), kann mir jemand mit B helfen)?

Mein Code sieht derzeit so aus:

        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();
    }

Vielen Dank,

Dennis

War es hilfreich?

Lösung

Da Sie den Gridview -Code nicht gepostet haben

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");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top