2014-03-13 197 views
0

我需要你的幫助從datagrid中刪除重複。我做了這個,Datagridview刪除重複的行

foreach (DataGridViewRow viewrow1 in this.dataGridView1.Rows) 
     { 

      DataRowView row1 = viewrow1.DataBoundItem as DataRowView; 
      if(row1 != null){ 
       foreach (DataGridViewRow viewRow2 in this.dataGridView2.Rows) 
       { 
        DataRowView row2 = viewRow2.DataBoundItem as DataRowView; 
        if (row2 != null && row1.Row["test"].Equals(row2.Row["test"])) 
        { 
         row2.Row.Delete(); 

        } 

       } 
      } 

     } 

它的工作原理,但不會刪除1行。

Thx尋求幫助。

+0

是否要刪除row1? –

+0

不僅row2 ... – Sar1

回答

0
foreach (DataGridViewRow viewrow1 in this.dataGridView1.Rows) 
    { 

     DataRowView row1 = viewrow1.DataBoundItem as DataRowView; 
     if(row1 != null){ 
      foreach (DataGridViewRow viewRow2 in this.dataGridView2.Rows) 
      { 
       DataRowView row2 = viewRow2.DataBoundItem as DataRowView; 
       if (row2 != null && row1.Row["test"].Equals(row2.Row["test"])) 
       { 
        dataGridView1.Rows.Remove(row2); 

       } 

      } 
     } 

    } 
+0

錯誤'System.Windows.Forms.DataGridViewRowCollection.Remove(System.Windows.Forms.DataGridViewRow)'的最佳重載方法匹配有一些無效的參數。 – Sar1

+0

當您迭代它時,不要從集合中移除項目; –

+0

我不明白。問題是,如果datagridview1中的數據與datagridview2中的數據相同,那麼我需要刪除重複的表,然後刪除那些行。 – Sar1