Доступ к DropDownList в EditItemTemplate в GridView на GridView_RowEditing

Я вставил DropDownList в EditItemTemplate в GridView и хотел бы заполнить этот DropDownList элементами на основе значения в другом столбце GridView в той же строке.

Позвольте мне привести Вам пример:

Если строка выглядит так:

Имя элемента, строка, TextBox, (кнопка редактирования)

Я хочу, чтобы щелчок на EditButton преобразовал строку «TextBox» в DropDownList с параметрами «TextBox» или «DropDownList», но если строка выглядит так:

Имя элемента, логическое значение, CheckBox, (кнопка редактирования)

Я хочу, чтобы в DropDown были только «CheckBox» и «RadioButton».

Итак, по логике вещей, мне нужно получить доступ а) к столбцу, содержащему значение поля типа данных (строка или логическое значение), и б) получить доступ к раскрывающемуся списку для изменения его элементов в событии GridView_RowEditing-Event.

Мне уже удалось сделать а), может ли кто-нибудь помочь мне с б)?

Мой код в настоящее время выглядит так:

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

Спасибо,

Деннис


person Dennis Röttger    schedule 28.04.2011    source источник


Ответы (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");
person Chad    schedule 29.04.2011
comment
Отлично! Этот подход также решил другую проблему, с которой я столкнулся, большое спасибо! - person Dennis Röttger; 02.05.2011