Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> один общий обработчик для DropDownList-ов, один общий обработчик для DropDownList 
:(
    Опции темы
Гость_Alex
Дата 19.5.2005, 22:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Как создать один общий обработчик для нескольких DropDownList-ов
на VB.NET?

Динамически создаю несколько DropDownList-ов и добавляю их в ###(Table,т.е объект System.Web.UI.WebControl.Table),причем колличество DropDownList-ов может быть все время разное.

Делаю это так:

For i = 0 To cols - 1
'Create & define property to new DropDownList
tempDropDownList = New DropDownList()
tempDropDownList.Width = Unit.Pixel(Width_Screen / cols)
Fill_DropDownList(tempDropDownList, i)
tempDropDownList.AutoPostBack = True
' SelectedIndexChanged event.
AddHandler tempDropDownList.SelectedIndexChanged, AddressOf SelectedIndexChanged tempDropDownList.ID = i.ToString()

'Create & define property to cell
NewCell = New TableCell()
NewCell.Width = Unit.Pixel(Width_Screen / cols)
'Add DropDownList to created cell
NewCell.Controls.Add(tempDropDownList)
'Add created cell (with DropDownList) to row
NewRow.Cells.Add(NewCell)
'Clear pointer to cell
NewCell = Nothing
Next
Table1.Controls.Add(NewRow)

создал один общий обработчик ,который увы работает не правильно smile а почему ......???????????:

Sub SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles tempDropDownList.SelectedIndexChanged
Dim ddl As DropDownList
ddl = CType(sender, DropDownList)
Label1.Text = ddl.ID.ToString
End Sub

Может кто может подсказать в чем провлема а еще лучше кинуть код или линк.Заранее благадарствую

P.S.
Пробывал для 2-х статистических DropDownList-ов делать тоже самое все работает:

Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged, _
DropDownList2.SelectedIndexChanged

Dim ddl As DropDownList
ddl = CType(sender, DropDownList)
Label1.Text = ddl.SelectedItem.Text

End Sub




  Вверх
-Mikle-
Дата 21.5.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 3
Всего: 59



Помоему проблема может быть в том, что ты в функции-обработчике пишешь Handles ....

Попробуй убрать в ф-ции этот самый Handles, должно все заработать.
Дело в том, что Handles используется в случаях объявления переменной класса с ключевым словом WithEvents, а при использовании AddHandler(RemoveHandler) написание Handles не нужно(или даже нельзя).

Вот примеры:

Код

' Здесь обработчик устанавливается через Handles
' Не требуется использовать AddHandler
class myForm
'............
 
  ' Объявим переменную с ключевым словом и создадим экземпляр
   private WithEvents myCombo as ComboBox = new ComboBox

   private sub myFuncClick(sender as object, e as System.EventArgs) Handles myCombo.Click
      '
      ' Здесь код для обработки события
      '
   end sub
end class



Код

' Здесь обработчик устанавливается через AddHandler
' Handles  в объявлении процедуры уже не нужен
class myForm
'............
 
  ' Объявим переменную и создадим экземпляр
   private myCombo as ComboBox = new ComboBox

   sub Init()
      ' ............
      AddHandler myCombo.Click, AddressOf myFuncClick
      ' ............
   end sub

   private sub myFuncClick(sender as object, e as System.EventArgs)
      '
      ' Здесь код для обработки события
      '
   end sub
end class


Попробуй сделать так как я написал, если что, приходи еще. smile



--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Гость_Alex
Дата 26.5.2005, 23:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо Mikle попробую smile ....
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.