我应该在代码中添加什么才能显示搜索结果?
现在,当我搜索搜索结果时,选择(突出显示)并且其他搜索结果保持不变。
试图隐藏其他行但没有任何成功(仅显示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;
}
}
}
答案 0 :(得分:5)
如果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;
}
}
(我删除了'break'命令,因为即使你找到了匹配的行,你仍然希望继续并隐藏其他行。)
如果你正在使用DataBinding,那就不那么容易了,如this page所示。
答案 1 :(得分:1)
你可以试试这个:
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;
}
}