2012-02-09 6 views
1

У меня есть форма Windows, которая содержит 2 datagridviews и кнопку между ними для передачи данных. Я не могу понять, как перемещать курсор выбранной строки в следующую строку после того, как кнопка успешно перенесет данные.Как переместить курсор в следующую строку в datagridview

+1

Имхо я бы не переместить курсор, но выделить новые вновь добавленные элементы. Перемещение курсора без какой-либо информации пользователю очень неприятно. – RvdK

ответ

5
if (dataGridView1.CurrentRow != null) 
    dataGridView1.CurrentCell = 
     dataGridView1 
     .Rows[Math.Min(dataGridView1.CurrentRow.Index + 1, dataGridView1.Rows.Count - 1)] 
     .Cells[dataGridView1.CurrentCell.ColumnIndex]; 
+0

Это выбор ячейки, а не курсора. Я предпочел бы этот вариант, чем перемещение курсора imho. – RvdK

+0

@PoweRoy, я предположил, что «переместить курсор» - это своего рода метафора * из «выбрать следующую строку». –

-1
if (e.KeyChar == (char)13) 
{ 
    int col = grdIdeal.CurrentCell.ColumnIndex; 
    int row = grdIdeal.CurrentCell.RowIndex; 
    int nRows = grdIdeal.Rows.Count - 1; 
    int nCol = grdIdeal.Columns.Count - 1; 

    if (nCol == col && nRows == row) 
     grdIdeal.CurrentCell = grdIdeal[0, 0]; 
    else if (nRows == row) 
     grdIdeal.CurrentCell = grdIdeal[col + 1, 0]; 
    else 
     grdIdeal.CurrentCell = grdIdeal[col, row + 1]; 
    e.Handled = true; 
} 
+1

Привет, Bhavesh, добро пожаловать в переполнение стека. Когда вы знаете, как ответить на вопрос, часто бывает полезно дать некоторое объяснение тому, что вы сделали и почему. –

Смежные вопросы