k0satyam Ответов: 2

Как мне справиться с проблемой индекса в datagridview in VB.NET?


Мой Datagridview имеет только две строки. Я установил allowusertoaddnewrow = false. Я заполняю строки в datagridview из базы данных. Я хочу передать его значение в текстовое поле при событии KeyDown, нажав клавишу Enter. Когда я нажимаю клавишу Enter в datagridview, чтобы выбрать содержимое первой строки, datagridview.currentrow. index возвращается 1. Точно так же, когда я выбираю вторую строку и нажимаю клавишу Enter, то же самое происходит и здесь, значит, он также возвращает datagridview.currentrow.index = 1. Есть ли какая-то концепция, чтобы я мог справиться с этой проблемой?

Что я уже пробовал:

RowIndx = Me.DataGridView1.CurrentRow.Индекс

Graeme_Grant

Я не понимаю, что вы пытаетесь сделать. Где находится текстовое поле-на форме или в ячейке редактирования? Это клавиша "Enter" нажмите на текстовое поле или элемент управления DataGrid? Чего вы пытаетесь достичь, когда нажата клавиша Enter?

В чем именно заключается ваша проблема?

Пожалуйста, нажмите на виджет" улучшить вопрос " и дайте четкое и краткое объяснение того, что вы пытаетесь сделать, и проблемы, которые у вас есть. Кроме того, мы не можем видеть код на вашем экране отсюда - так что вам тоже нужно опубликовать его в своем вопросе.

k0satyam

Я поместил элемент управления textbox в форму.
При нажатии клавиши Enter на элементе управления datagridview, содержание currentrow должны быть переведены в текстовые поля.

2 Ответов

Рейтинг:
8

k0satyam

Спасибо за ответ.

Я тоже пробовал, но это не помогло.

Я получил решение с помощью кода :


Private Sub DataGridView1_EditingControlShowing(отправитель как система.Объект, как система.Окна.Формы.DataGridViewEditingControlShowingeventargs) Обрабатывает DataGridView1. EditingControlShowing

Dim DataGridView1 As DataGridView = CType(e. Control, DataGridView)
Добавитьобработчик DataGridView1.PreviewKeyDown, Оператором Addressof DataGridView1_PreviewKeyDown

Конец Подводной Лодки

Private Sub DataGridView1_PreviewKeyDown (sender As Object, e As PreviewKeyDownEventArgs) обрабатывает DataGridView1. PreviewKeyDown
Dim TBox Как Текстовое Поле
Дим Номера Строки В Целое Число
Попробуй
Если e.Код = Клавиши.Введите или электронной.Код = Клавиши.Тогда Возвращайся
Системы Tbox = Меня.Рук.Свойство activecontrol
Параметр Rownum = Меня.DataGridView1.CurrentRow.Индекс
Вызовите DGridToText(TBox, RowNum)
Конец, Если
Поймать ex как исключение
Ошибаться.Описание
Конец Попытки
Конец Подводной Лодки


Рейтинг:
19

OriginalGriff

Попробуй DataGridView.SelectedRows(0) вместо.