我有一個datagridview我已經實現了一個搜索功能。通過在datagridview處於焦點時輸入字符,將選擇包含字符的網格的第一行。C#Datagridview選定行
我用:
dtgView[index].Selected = true;
dtgView.FirstDisplayedScrollingRowIndex = index;
行被選中,但是當我按下向上或向下箭頭,或從選定的行上下導航,在DataGridView從行索引0在DataGrid開始,而不是新選擇的行?
這裏是OP's
原始代碼/法
private void dtgView_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyValue >= 65 && e.KeyValue <= 90)
{
searchStrings += e.KeyCode;
for (int i = 0; i < dtgView.RowCount; i++)
{
if (dtgView.Rows[i].Cells[0].Value.ToString().
Substring(0, searchStrings.Length) == searchStrings)
{
dtgView.ClearSelection();
dtgView.FirstDisplayedScrollingRowIndex = i;
dtgView.Rows[i].Selected = true;
dtgView.Rows[i].Cells[0].Selected = true;
break;
}
}
}
}
'Duta'或許可以顯示完整的方法塊(s)表示,關於以確保你沒有任何其他事件,將基於按鍵按下觸發.. 2行代碼真的沒有任何人在這裏任何正義... – MethodMan 2014-12-05 21:04:17
什麼'鍵是你想使用我認爲你應該檢查有更好的方法來做到這一點 – MethodMan 2014-12-05 21:13:19
也許這樣,但這並不解決我選擇的行的問題。 – duta 2014-12-05 21:14:56