Добавление обработчика событий в DropDownList внутри GridView - как? - PullRequest
1 голос
/ 03 мая 2010

У меня есть DropDownList внутри GridView. Теперь я хотел бы добавить обработчик событий для выпадающего списка, который будет реагировать на SelectedIndexChanged. Я вложил DropDownList в GridView, используя событие RowDataBound для GridView. (http://www.highoncoding.com/Articles/169_DropDownList_Inside_GridView__Method_1_.aspx) Кто-нибудь может мне помочь, и подскажите, пожалуйста, как добавить обработку событий для выпадающего списка, пожалуйста?

Ответы [ 5 ]

1 голос
/ 10 мая 2010

хорошо, у меня возникла проблема. Чтобы обработать SelectedIndexChanged для DropDownList, вложенного в GridView, вы должны просто установить свойство AutoPostback на true и указать событие SelectedIndexChange на некоторую процедуру.

Причина, по которой я столкнулся, заключалась в том, что я не включил функцию Page_Load (во время привязки данных к GridView) по следующему правилу: If Not Page.IsPostBack Then. И это все. Так что не забудьте сделать это, пожалуйста! :)

0 голосов
/ 07 июня 2014

Ответ был полезен.

У меня был похожий сценарий, где у меня был список предметов, которые нужно добавить в ассортимент товаров. Когда я выбрал продукт, мне нужно отобразить его единицы (кг / литр) в следующем столбце.

enter image description here

Для этого мне нужно найти точную строку в виде сетки, где присутствует выпадающий список продуктов. Таким образом, в событии selected_index_changed я проходил по каждой строке сетки и соответствовал выпадающему идентификатору.

Но проблема в том, что «id» выпадающего списка остается одинаковым во всех строках. Поэтому я добавил еще одно условие для сопоставления идентификатора клиента ddl с идентификатор клиента отправителя, и он работал отлично.

Итак, подумал поделиться своим опытом.

Спасибо!

0 голосов
/ 09 декабря 2011

Два события вида сетки используются для выбранного индекса выпадающего списка.

  1. RowDataBount обработчик событий вида сетки (для выбора элемента).
  2. RowUpdating обработчик событий вида сетки (для обновления выбранного элемента в виде сетки).
0 голосов
/ 03 мая 2010

Добавьте событие onRowCommand в сетку, добавьте имя команды в раскрывающийся список, установите для свойства autoPostback значение true, а в событии onRowCommand проверьте e.CommandName (если у вас есть другие события, сетка выдает как пейджинг).

0 голосов
/ 03 мая 2010

В вашем методе GridView1_RowDataBound добавьте обработчик при создании раскрывающегося списка, вызвав ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged);

Затем объявите метод void ddl_SelectedIndexChanged(object sender, EventArgs e) для обработки вашей логики. Аргумент sender будет ссылкой на выпадающий список, который был выбран.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...