#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. Отлично! Этот подход также решил другую проблему, с которой я столкнулся, большое спасибо!