2013-09-02 4 views
1

Я использую следующий код для фокусировки на конкретную ячейку в DataGridView.Как установить фокус на конкретную ячейку в datagridview?

private void dgOrderDetails_CellValueChanged(object sender, DataGridViewCellEventArgs e) { 
    if (dgOrderDetails.Columns[e.ColumnIndex].Name.ToString().ToUpper() == "BILLINGMONT") { 
    dgOrderDetails.Focus(); 
    dgOrderDetails.CurrentCell = dgOrderDetails[dgOrderDetails.CurrentCell.ColumnIndex + 1, dgOrderDetails.CurrentCell.RowIndex]; 
    } 
} 

Но мой курсор сетки данных не является обязательным, когда я ожидаю.

ответ

7

Попробуйте это.

dataGridView1.CurrentCell = desiredCell; 
dataGridView1.BeginEdit(true); 

Добавить желаемую ячейку.

+0

Активизация для спортивного мастерства, ваша версия заставит его перейти в режим редактирования. –

+0

+1 для объяснения. он переходит к редактируемому в текущую ячейку, которую я описал. @JeremyThompson – coolprarun

+0

Привет, Coolprarun, я пробовал этот. Но мой курсор Datagridview не является обязательным в ожидаемой ячейке. Пожалуйста, предоставьте мне дополнительную информацию. – user2738864

1
datagridview.Focus(); 
datagridview.CurrentCell = datagridview.Rows[1].Cells[2]; 
+0

Привет, Джереми Томпсон, Спасибо за ваш ответ. Я пробовал это. Но не повезло. Поэтому, пожалуйста, предоставьте мне еще несколько решений. – user2738864

+0

работает для меня. – varsha

-1
grdUser.CurrentCell = grdUser.Rows[e.RowIndex].Cells[2]; 

grdUser.CurrentCell.Selected = true; 

e.Cancel = true; 
+1

Можете ли вы объяснить немного больше? –

+0

поместите этот код в событие и должен написать e.cancel = true; потому что это предотвращает дальнейшие события. – shyam

0

если и хотят, чтобы перейти в клетку за другим, например, перейти к клеткам [5] после того, как клетки [1] в текущей строке. У меня эта проблема с DataGridView, но я нашел хороший способ для этого: в "CellLeave" событие записи этих кодов:

if (DatagridView.CurrentCell == DatagridView.CurrentRow.Cells[0]) 
      { 
       SendKeys.Send("{TAB}"); 
       SendKeys.Send("{TAB}"); 
      } 

Поеду к клеткам [3] после того, как клетки [0]

I надеюсь, что он помогает u

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