use*_*766 7 .net c# datagridview winforms
我应该在代码中添加什么才能显示搜索结果?
现在,当我搜索搜索结果时,选择(突出显示)并且其他搜索结果保持不变.
一直试图隐藏其他行但没有任何成功(只显示searchresult,单独).有什么建议?我正在使用datagridview.
我的代码:
private void button3_Click_1(object sender, EventArgs e)
{
string search = textBox1.Text;
for (int i = 0; i < dgTest.Rows.Count; i++)
{
if (dgTest.Rows[i].Cells[0].Value.ToString() == search)
{
dgTest.Rows[i].Selected = true;
break;
}
else
{
dgTest.Rows[i].Selected = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果DataGridView未绑定到数据源,则将行的Visible属性设置为false将隐藏它:
for (int i = 0; i < dgTest.Rows.Count; i++)
{
var row = dgTest.Rows[i];
if (row.Cells[0].Value.ToString() == search)
{
row.Selected = true;
row.Visible = true;
}
else
{
row.Selected = false;
row.Visible = false;
}
}
Run Code Online (Sandbox Code Playgroud)
(我删除了'break'命令,因为即使在找到匹配的行之后,您也希望继续并隐藏其他行.)
但是,如果你正在使用DataBinding,那就不那么容易了,如本页所示.
你可以试试这个:
for (int i = 0; i < dgTest.Rows.Count; i++)
{
if (dgTest.Rows[i].Cells[0].Value.ToString() == "search")
{
dgTest.Rows[i].Selected = true;
dgTest.Rows[i].Visible = true;
}
else
{
dgTest.Rows[i].Visible = false;
dgTest.Rows[i].Selected = false;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7594 次 |
最近记录: |