在GridView_RowEditing上的GridView中的EditItemTemplate中访问DropDownList

时间:2011-04-28 13:32:01

标签: c# gridview drop-down-menu edititemtemplate

我将一个DropDownList插入到GridView中的EditItemTemplate中,我想用同一行中另一个GridView-Column中的Value填充这个DropDownList。

让我举个例子:

如果行如下所示:

Itemname,string,TextBox,(editbutton)

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

Itemname,bool,CheckBox,(编辑按钮)

我希望DropDown只显示“CheckBox”和“RadioButton”。

所以,从逻辑上讲,我需要访问a)包含datatype-field(string或bool)值的Column,以及b)访问DropDown-List以修改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();
    }

谢谢,

丹尼斯

1 个答案:

答案 0 :(得分:1)

由于你没有发布gridview代码,我只会在伪代码中执行此操作

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