C# 在GridView\u行编辑中访问GridView中的EditItemTemplate中的DropDownList

C# 在GridView\u行编辑中访问GridView中的EditItemTemplate中的DropDownList,c#,gridview,drop-down-menu,edititemtemplate,C#,Gridview,Drop Down Menu,Edititemtemplate,我在GridView中的EditItemTemplate中插入了一个DropDownList,并且我想根据同一行的另一个GridView列中的值使用项目填充该DropDownList 让我举个例子: 如果该行如下所示: protected void gridVariables_RowEditing(object sender, GridViewEditEventArgs e) { switch (gridVariables.Rows[e.NewEditIn

我在GridView中的EditItemTemplate中插入了一个DropDownList,并且我想根据同一行的另一个GridView列中的值使用项目填充该DropDownList

让我举个例子:

如果该行如下所示:

        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();
    }
Itemname、字符串、文本框(编辑按钮)

我希望单击编辑按钮将字符串“TextBox”转换为带有选项“TextBox”或“DropDownList”的DropDownList,但如果该行如下所示:

        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();
    }
Itemname,bool,复选框,(编辑按钮)

我希望下拉菜单只显示“复选框”和“单选按钮”

因此,从逻辑上讲,我需要访问a)包含数据类型字段(string或bool)值的列,以及b)访问下拉列表以修改GridView_RowEditing-Event中的项目

我已经做了a),有人能帮我做b吗

我的代码当前如下所示:

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


Dennis

既然您没有发布gridview代码,我就在psuedo代码中发布

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");

杰出的这种方法还解决了我遇到的另一个问题,非常感谢!