당신은 당신의 텍스트 상자에 같은 번호를 가진 모든 행을 숨기려면이 코드를 사용할 수 있습니다 (의이 textBox1
를 부르 자). 당신의 DataGridView
는 DataSet에 경계 경우 먼저 데이터 바인딩을 일시 중단해야한다고
는
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells["driverNo"].Value != null
&& row.Cells["driverNo"].Value.ToString() == textBox1.Text)
{
row.Visible = false;
}
}
참고.
편집 :
당신은 (즉시) 사용자 입력, 당신은 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