У меня есть ComboBox «Я назвал его Combo», который загружается внутри C1FlexGrid «Я назвал его fgMain» во втором столбце, и я хочу обрабатывать клавиатуру, чтобы нажимать клавишу enter этот combobox доступен для пользователей.Обработка события KeyDown столбца ComboBox внутри C1FlexGrid
I Используйте этот код, чтобы создать выпадающий и заполнить его данными:
fgMain.Cols(2).Editor = Combo
Combo.DrawMode = DrawMode.Normal
Dim dap As New OleDbDataAdapter()
Dim dat As New DataTable()
dap.SelectCommand = New OleDbCommand("SELECT EmpInfo.ManualId, EmpInfo.Name FROM EmpInfo;", conn)
dap.Fill(dat)
Combo.DataSource = dat
Combo.DisplayMember = "Name"
Combo.ValueMember = "ManualId"
Я использую этот код для обработки нажатия ввести в любую ячейку в столбце 2 в c1flexgrid это только ручка первый вводите давила на любой ячейки в колонке 2 и сделать выпадающий список появляется выпадающий список:
Private Sub fgMain_KeyDown(sender As Object, e As KeyEventArgs) Handles fgMain.KeyDown
Select Case e.KeyCode
Case Keys.Enter
Select Case fgMain.Selection.c1
Case 2
fgMain.StartEditing(fgMain.Selection.BottomRow, 2)
e.SuppressKeyPress = True
e.Handled = True
End Select
End Select
теперь мне нужно обрабатывать, если пользователь выбрал его нужный элемент, то он будет давить ввести во второй раз ... моя проблема, когда я нажимаю второй введите, чтобы выбрать выбранный элемент, появляется i n "fgMain (e.row, 2)" только в течение менее одной секунды, тогда вся строка исчезает, а fgMain (e.row, 2) становится пустым
Спасибо, господин Вишвакарма за вашу помощь. Но моя проблема заключается не в том, чтобы начать редактирование 'fgMain.StartEditing (fgMain.Selection.BottomRow, 2)'. моя проблема состоит в том, чтобы выделить выделенный элемент в 'fgMain (fgMain.Selection.BottomRow, 2)' после второго ввода, чтобы подтвердить выбор этого элемента. Я хочу обрабатывать нажатие enter в 'fgMain_KeyDownEdit' для приема данных, чтобы не вводить причину в режиме редактирования Событие KeyDownEdit срабатывает, когда ячейка уже находится в режиме редактирования «Далеко, насколько я знаю» –
Я использую [KeyDown] (http://helpcentral.componentone.com/nethelp/c1flexgrid/#C1.Win.C1FlexGrid.4~C1.Win .C1FlexGrid.C1FlexGrid ~ KeyDown_EV.html) Событие не [KeyPress] (http://helpcentral.componentone.com/nethelp/c1flexgrid/#C1.Win.C1FlexGrid.4~C1.Win.C1FlexGrid.C1FlexGridBase~KeyPress_EV.html) Событие –
Если бы вы могли использовать keypressedit вместо keypress или keydownedit вместо keydown, вы бы увидели разницу, которую я пытался объяснить –