仅在DataGridView中显示搜索结果

时间:2013-06-26 08:10:21

标签: c# datagridview

我有一个用于在DataGrid中搜索的TextBox,结果只选择DataGrid中的搜索行,所以我希望DataGrid只显示选定的行结果并隐藏所有其他行。

这是我的代码:

`

    private void SearchTextBox_TextChanged(object sender, EventArgs e)
    {
        foreach (DataGridViewRow row in dgvUnit.Rows)
        {
            if(row.Cells["Id"].Value.ToString().ToLower().StartsWith(SearchTextBox.Text.ToLower()))
            {
                row.Selected = true;
            }
        }
    }

`

1 个答案:

答案 0 :(得分:0)

您可以操纵行可见性(无论是否使用DataSource

private void SearchTextBox_TextChanged(object sender, EventArgs e)
{
    dgvUnit.CurrentCell = null;

    foreach (DataGridViewRow row in dgvUnit.Rows)
    {
        if(row.Cells["Id"].Value.ToString().ToLower().StartsWith(SearchTextBox.Text.ToLower()))
        {
            row.Visible = true;
            row.Selected = true;
        }
        else
        {
            row.Visible = false;
        }
    }
}