2014-01-22 89 views
1

我有一個由數據表填充的datagridview。它中的所有三列都設置爲只讀,所以它實際上就像一個帶list的彈出窗口。第一列填充了產品代碼,第二列填充Sku名稱,第三列填充Mrp.And Datagridview選擇屬性設置爲FullRowSelect.I使用keypress事件來處理用戶何時按下Enter鍵。但是這裏的問題是currentrow移動到下一行,而不是留在用戶進入輸入按鈕的地方!按ENTER鍵在datagridview中選擇一行

所以我來處理這個問題是這樣

private void dataGridView2_KeyPress(object sender, KeyPressEventArgs e) 
{ 

    if (e.KeyChar == 13) 
    { 
     dataGridView2.CurrentCell = dataGridView2[0, dataGridView2.CurrentCell.RowIndex -1]; 
     dataGridView2.CurrentRow.Selected = true; 
    } 
} 

但問題當我選擇最後一排,它選擇第二最後一排 請幫我在這..

我已經考慮Cheating the DataGridView - CodeProject - The Code Project

+0

章eck [這篇文章](http://stackoverflow.com/q/17511317/909742),也許它可以幫助您 – Andrea

回答

1

試試這個

void dataGridView1_KeyDown(object.sender, KeyEventArgs e) 
{ 
if (e.KeyCode == 13) 'Enter Key 
{ 
this.dataGridView1.CurrentRow.Selected = true; 
e.Handled = true; 
} 
} 
+0

謝謝。它實際上工作 –