您可以使用此代碼隱藏已作爲在文本框中輸入號碼的所有行(姑且稱之爲textBox1
)。
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells["driverNo"].Value != null
&& row.Cells["driverNo"].Value.ToString() == textBox1.Text)
{
row.Visible = false;
}
}
請注意,如果您DataGridView
一定到DataSet中,你應該首先需要暫停數據綁定。
編輯:
如果你希望發生的過濾,而用戶鍵入(飛),您可以將此代碼附加到KeyUp
事件:
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells["driverNo"].Value != null
&& row.Cells["driverNo"].Value.ToString() == textBox1.Text)
{
row.Visible = false;
}
else
{
row.Visible = true;
}
}
}
您可以優化這段代碼通過使用查找或散列表來消除循環。但是這基本上可以正常工作(尚未在大數據網格上測試過)。
只是爲了確保我明白了,如果行中包含按下的數字鍵,您想過濾顯示的行嗎? – KSdev
是的,但只在DriverNo列 – theshizy
您可以檢查'SelectedColumns'' Text.Contains''driverNo'鍵是否被按下。只是對該物品採取行動。 – KSdev