我正在尝试选择单元格值以用户按下的相同keychar开始的第一行.那是给我带来麻烦的部分.
以下是我处理事件的方式(使用工作解决方案更新):
private void dataGridView1_KeyPress(object sender,KeyPressEventArgs e) { if (Char.IsLetter(e.KeyChar)) { for (int i = 0; i < (dataGridView1.Rows.Count); i++) { if (dataGridView1.Rows[i].Cells["Name"].Value.ToString().StartsWith(e.KeyChar.ToString(),true,CultureInfo.InvariantCulture)) { dataGridView1.Rows[i].Cells[0].Selected = true; return; // stop looping } } } }
我确信这是一件很简单的东西,我忽略了,但是因为我的生活无法弄清楚它是什么.
编辑
解决方法
可能是一个案例问题,单元格中的值[“名称”]是否以大写字母开头?尝试在两者上使用ToUpper或ToLower;或者你可以尝试使用StartsWith(e.KeyChar,true)来忽略它.如果您尝试选择行,则需要执行dataGridView1.Rows [i] .Selected = true