Joh*_* J. 7 .net c# datagridview keypress winforms
我正在尝试选择单元格值以用户按下的相同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
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我确信这是一件很简单的东西,我忽略了,但是因为我的生活无法弄清楚它是什么.
使用解决方案更新了代码
可能是大小写问题,单元格[“名称”]中的值是否以大写字母开头?尝试在两者上使用 ToUpper 或 ToLower;或者您可以尝试 StartsWith(e.KeyChar, true) 来忽略大小写。如果您尝试选择行,则需要执行 dataGridView1.Rows[i].Selected = true