Получить доступ к выпадающему списку в EditItemTemplate в GridView на GridView_RowEditing

#c# #gridview #drop-down-menu #edititemtemplate

#c# #просмотр сетки #выпадающее меню #edititemtemplate

Вопрос:

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

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

Если строка выглядит следующим образом:

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

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

Имя_элемента, bool, флажок, (кнопка редактирования)

Я хочу, чтобы в выпадающем списке были только «Флажок» и «РадиоКнопка».

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

Мне уже удалось выполнить 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:

Поскольку вы не опубликовали код 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");
  

Комментарии:

1. Отлично! Этот подход также решил другую проблему, с которой я столкнулся, большое спасибо!