【问题标题】:Search for the first letter of a word using keyboard input in data grid view在数据网格视图中使用键盘输入搜索单词的第一个字母
【发布时间】:2011-05-15 14:09:33
【问题描述】:

我的问题是如何搜索以键盘给出的字母开头的单词。我使用下面的代码做到了这一点。

现在我想为下一行执行此操作。找到一个单词后,我想通过单击向下箭头转到下一行。但是当我单击向下箭头时,所选行会转到上一个所选行。

我该如何解决这个问题?

if (Char.IsLetterOrDigit(e.KeyChar))
{
    if (Char.IsLetter(e.KeyChar))
    {
        for (int i = 0; i < (dgvTestHead.Rows.Count); i++)
        {
            if (dgvTestHead.Rows[i].Cells["Test_Head"].Value.ToString()
                .StartsWith(e.KeyChar.ToString(),
                            true,
                            CultureInfo.InvariantCulture))
            {
                dgvTestHead.ClearSelection();
                dgvTestHead.Rows[i].Cells[0].Selected = true;
                dgvTestHead.FirstDisplayedScrollingRowIndex = i;
                dgvTestHead.Refresh();

                return; // stop looping
            }
        }
    }
}

【问题讨论】:

标签: c# datagridview selection


【解决方案1】:

我认为这是因为DataGridViewCurrentRow 属性没有改变。 要将CurrentRow 设置为选定的行(它是只读的),请使用:

dgvTestHead.CurrentCell = dgvTestHead.Rows[i].Cells[0];

这对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多