2010-11-03 30 views
3

我有一個查詢被轉儲到datagridview的結果。它看起來像這樣:c#:如何以編程方式突出顯示/從datagridview刪除行

QC3 498.46 
QC4 1,251.63 
QC1 862.62 
QC2 1,432.21 

我需要兩樣東西

  1. 能夠能夠通過編程刪除所有數據網格的其中第二場= 862.62(或只是刪除第三行)的行
  2. 我需要programmtically突出和向下滾動到行向用戶顯示,其中第一場是QC4,第二個是1,251.63
+0

它是databound?如果是這樣,請從源代碼中刪除。 – 2010-11-03 16:19:49

+0

@我不想從源刪除 – 2010-11-03 16:20:34

+0

請原諒簡潔,我的意思是綁定源。 – 2010-11-03 16:22:53

回答

5

能夠能夠以編程方式刪除數據網格中的所有行,其中第二場= 862.62

var rowsToRemove = from DataGridViewRow r in dataGridView1.Rows 
        where r.Cells[1].Value.ToString() == "862.62" // use whatever conversion is appropriate here 
        select r; 

foreach (var r in rowsToRemove) 
    dataGridView1.Rows.Remove(r); 

刪除在特定索引處的一行,請致電RemoveAt

dataGridView1.Rows.RemoveAt(2); 

我需要programmtically突出和向下滾動到該行,顯示用戶,其中第一場是QC4,第二個是1,251.63

找到您要選擇的行,然後設置Selected屬性和FirstDisplayedScrollingRowIndex屬性:

rowToSelect.Selected = true; 
dataGridView1.FirstDisplayedScrollingRowIndex = rowToSelect.Index; 
+0

這是純粹的天才 – 2010-11-03 16:49:12

+0

即時對不起,你可以再次幫助我與此rowToSelect.Selected = true; dataGridView1.FirstDisplayedScrollingRowIndex = rowToSelect.Index; – 2010-11-05 17:27:57

+0

@我是一個女孩,當然 - 你需要什麼幫助?確定要選擇的行? – 2010-11-05 17:39:11

1

這是一個非常基本的例子 - 它需要一些工作,但我認爲它是一個正確的方向。

private void Form1_Load(object sender, EventArgs e) 
    { 
     List<TestClass> list = new List<TestClass>(); 
     list.Add(new TestClass() { Prop1="QC1",Prop2="1.000"}); 
     list.Add(new TestClass() { Prop1 = "QC2", Prop2 = "2.000" }); 
     list.Add(new TestClass() { Prop1 = "QC3", Prop2 = "3.000" }); 
     list.Add(new TestClass() { Prop1 = "QC4", Prop2 = "4.000" }); 

     dataGridView1.DataSource = list; 


    } 

    public class TestClass 
    { 
     public string Prop1 { get; set; } 
     public string Prop2 { get; set; } 

     public TestClass() 
     { 

     } 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     foreach (DataGridViewRow row in dataGridView1.Rows) 
     { 
      if (row.Cells[0].Value == "QC3" && row.Cells[1].Value == "3.000") 
       row.Selected = true; 
     } 
    } 

我希望這有助於:)

+0

,並在任何人燃起我之前我知道數據類型是錯誤的,不是很有效率等...但一個小的記錄集應該沒事 – stuartsmithuk 2010-11-03 16:37:06

+0

是否有可能有一個列表爲數據源?如果不是,你可以修復它,因爲我想用戶exmaple – 2010-11-03 16:38:34

+0

是的,你可以使用列表作爲數據源:)上面的代碼確實工作,如果你創建一個新的datagridview和一個按鈕。 – stuartsmithuk 2010-11-03 16:40:17

相關問題