powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Джентльмены, можно ли программным способом вызвать событие?
8 сообщений из 8, страница 1 из 1
Джентльмены, можно ли программным способом вызвать событие?
    #32082950
devlpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разъяснение. Есть контрол типа Combobox. Событие "Change" для него почему-то не отрабатывает. Зато отрабатывает событие "Lost Focus". Однако спровоцировать последнее выбором значения из выпадающего списка контрола не удается (а хотелось бы). Привлекать другой контрол или вручную передавать на него фокус с Combobox - не логично. Что здесь можно посоветовать?
...
Рейтинг: 0 / 0
Джентльмены, можно ли программным способом вызвать событие?
    #32082956
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте свой обработчик в классе, объявив предварительно Ваш ComboBox чере withevents. Ну а далее RaiseEvent и т.д.
...
Рейтинг: 0 / 0
Джентльмены, можно ли программным способом вызвать событие?
    #32083550
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какое ж это будет на хрен событие, если постоянно вызывать его из кода...
Лучше поискать, почему Change не срабатывает. Хотя Change - тоже тупое событие, оно срабатывает даже тогда, когда из кода в комбо значение правишь...
...
Рейтинг: 0 / 0
Джентльмены, можно ли программным способом вызвать событие?
    #32083562
SCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SCS
Гость
Chenge срабатывает если в комбо править руками в поле Edit
если выбор из списка, то событие Click
успехов
...
Рейтинг: 0 / 0
Джентльмены, можно ли программным способом вызвать событие?
    #32084084
devlpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SCS:
Огромное спасибо за помощь. Я недавно перешел на VB с VBA и испытываю определенные трудности. Если не возражаешь, задам еще пару вопросов по объекту DataGrid.
1. По какому событию выбрать определенную запись возвращаемого набора?
Нашел какое-то событие "RowColChange", но оно не отрабатывает для первой записи набора если перехода еще не было. Да и строка выделяется только после наступления события, а не до того.
2. Как задать сортировку набора по выбранному полю (событие "HeadClick").
В свойствах Rercordset ADOData нашел "Sort". Но как его использовать?
...
Рейтинг: 0 / 0
Джентльмены, можно ли программным способом вызвать событие?
    #32084150
SCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SCS
Гость
по 1. - уточни что за выбор
по 2. пример одной из моих программ для сортировки, вызывается при нажатии кнопки в toolbar (dgList - DataGrid)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Public Sub cmdSort(Asc As Boolean)
Dim rs As Recordset, sort As String, i As Integer
  
  If dgList.SelStartCol <  0  Then Exit Sub
  Set rs = dgList.DataSource
  If rs Is Nothing Then Exit Sub
    
  sort =  "" ' построить список полей для сортировки
  For i = dgList.SelStartCol To dgList.SelEndCol
    If sort <> "  " Then sort = sort & " ,  "
    sort = sort & " [ " & dgList.Columns(i).DataField & " ] "
    If Asc Then sort = sort & "  ASC " Else sort = sort & "  DESC"
  Next i
  rs.sort = sort
  Set rs = Nothing
End Sub
...
Рейтинг: 0 / 0
Джентльмены, можно ли программным способом вызвать событие?
    #32084926
devlpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
За 2) - спасибо.
По 1) - уточняю. Требуется выбрать определенную строку из рекордсета DataGrid, выделить ее и скажем по двойному щелчку на ней запустить процедуру обработки события, передав ей номер выбранной строки в качестве параметра. Так вот - какое это должно быть событие из коллекции событий для DataGrid контрола?
...
Рейтинг: 0 / 0
Джентльмены, можно ли программным способом вызвать событие?
    #32084986
2. Как задать сортировку набора по выбранному полю (событие "HeadClick").

Private Sub DBGrid1_HeadClick(ByVal ColIndex As Integer)
'sort data according column clicked
With data1
.RecordSource = "select * from customer order by " _
& DBGrid1.Columns(ColIndex).DataField
.Refresh
End With
End Sub
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Джентльмены, можно ли программным способом вызвать событие?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]