2012-10-25 83 views
7

我應該添加到我的代碼只顯示我的搜索結果?DataGridView中搜索:只顯示信息搜索結果和隱藏其他行?

現在,當我搜索的信息搜索結果變爲選中(高亮)和其他人保持不變。

一直試圖隱藏其他行,但沒有任何成功(而且只顯示信息搜索結果,單獨的)。有什麼建議麼? 使用datagridview的Im。

我的代碼:

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; 
     } 
    } 
} 

回答

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; 
    } 
} 
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; 
     } 
    } 

(我刪除了「破「命令,即使你已經找到了匹配的行,你想繼續,並隱藏其他行。)

如果您使用數據綁定,雖然,它不是那麼容易,如圖this page

+0

感謝您的幫助!我正在使用數據綁定,因此不幸的是它變得更加困難。 :P – user1773766