pravin9455 Ответов: 1

Перемещение по строкам datagrid с помощью клавиш textbox.вниз и ключи.вверх VB.NET или с#


Привет
Пытается двигаться вверх или вниз в DataGrid строки, используя текстовое поле событие клавиша вниз


Private Sub TbxAccount_KeyDown(sender As Object, e As KeyEventArgs) Handles TbxSupCode.KeyDown

        Select Case e.KeyCode
            Case Keys.Down
                DgvPlCodeSerch. '???
            Case Keys.Up
            DgvPlCodeSerch.' ????
        End Select


не совсем понимая, как это сделать.

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

Private Sub TbxAccount_KeyDown(sender As Object, e As KeyEventArgs) Handles TbxSupCode.KeyDown

        Select Case e.KeyCode
            Case Keys.Down
                DgvPlCodeSerch. 
            Case Keys.Up
            DgvPlCodeSerch.' 
        End Select

1 Ответов

Рейтинг:
5

OriginalGriff

Попробуй:

private void TbxAccount_KeyDown(object sender, KeyEventArgs e)
    {
    int rpos = myDataGridView.CurrentCell.RowIndex;
    int cpos = myDataGridView.CurrentCell.ColumnIndex;
    switch (e.KeyCode)
        {
        case Keys.Up:
            rpos--;
            if (rpos >= 0) myDataGridView.CurrentCell = myDataGridView.Rows[rpos].Cells[cpos];
            e.Handled = true;
            break;
        case Keys.Down:
            rpos++;
            if (rpos < myDataGridView.Rows.Count) myDataGridView.CurrentCell = myDataGridView.Rows[rpos].Cells[cpos];
            e.Handled = true;
            break;
        }
    }


pravin9455

Привет,
Спасибо за ваш ответ, он решил мою одну проблему.

Кроме того у меня есть еще один подобный сценарий

У меня есть два датагрида . От нажатия клавиши (keyup и KeyDown) первой ячейки datagrid я хочу перемещаться по строкам другой ячейки datagrid. кроме того, я хочу поддерживать движение в первой datagrid с помощью KeyUp и KeyDown. для этого я буду использовать комбинацию клавиш Shift + KeyUp или Shift+KeyDown для перемещения во второй datagrid.

я попробовал с нижеприведенным кодом, но он не работает. Нужна ваша помощь в том, чтобы сделать это правильно


Private Sub DgvItemData_KeyDown(sender As Object, e As KeyEventArgs) обрабатывает DgvItemData.KeyDown


Если e.KeyCode = ключи.Клавиша Управления И Клавиши.Вниз или e.KeyCode = ключи.Клавиша Управления И Клавиши.Тогда



Дим данных, как integer = DgvSupCodeList.CurrentCell.Параметр rowindex
Дим НСП как integer = DgvSupCodeList.CurrentCell.Значение columnindex

Выберите дело.Код
Ключи От Кейса.Клавиши Клавиша Control +.До
данных -= 1
Если rpos >= 0, то DgvSupCodeList.CurrentCell = DgvSupCodeList.Rows(RPO).Клетки(НСП)
е.Обработано = Истина
Ключи От Кейса.Клавиши Клавиша Control +.Вниз
RPO += 1
Если rpos < DgvSupCodeList.Rows.Подсчитайте тогда DgvSupCodeList.CurrentCell = DgvSupCodeList.Rows(RPO).Клетки(НСП)
е.Обработано = Истина
Конец Выбрать

Конец, Если

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