2011-04-14 54 views
0

我有一個tabcontrol有兩個tabpages。SelectedRows相同的兩個datagridview

在每個都有一個datagridview。

它們具有相同的綁定源。

我在每個上同步selectedrows問題。現在

,我有:

private void dgvGeoObjectsSecondView_SelectionChanged(object sender, EventArgs e) 
{ 
    if (tabControl1.SelectedIndex == 1) 
    { 
     foreach (DataGridViewRow dvRow in this.dgvGeoObjectsSecondView.Rows) 
     { 
      foreach (DataGridViewRow dvRowFirstView in this.dgvGeoObjectsFirstView.Rows) 
      { 
       if ((long) ((DataRowView) dvRow.DataBoundItem)["ObiektID"] == 
        (long) ((DataRowView) dvRowFirstView.DataBoundItem)["ObiektID"]) 
         dvRowFirstView.Selected = dvRow.Selected; 
      } 
     } 
    } 
} 

private void dgvGeoObjectsFirstView_SelectionChanged(object sender, EventArgs e) 
{ 
    if (tabControl1.SelectedIndex==0) 
    { 
     foreach (DataGridViewRow dvRow in this.dgvGeoObjectsFirstView.Rows) 
     { 
      foreach (DataGridViewRow dvRowSecondView in this.dgvGeoObjectsSecondView.Rows) 
      { 
       if ((long)((DataRowView)dvRow.DataBoundItem)["ObiektID"] == 
        (long)((DataRowView)dvRowSecondView.DataBoundItem)["ObiektID"]) 
         dvRowSecondView.Selected = dvRow.Selected; 
      } 
     } 
    } 
} 

但是,當我改變第二格柵被清除標籤頁selectedrows。

任何想法,或經驗與這個問題?

+0

如果兩個DataGridView完全相同,那麼只有其中一個在選項卡控件之外,當然。 – 2011-04-14 22:36:25

回答

0

這可能是由於在控件第一次變爲可見之前綁定不起作用。解決方法是使第二個網格臨時可見。

相關問題