1

我有一个用于在 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;
            }
        }
    }

`

4

1 回答 1

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;
        }
    }
}
于 2013-06-26T08:20:32.263 回答