2011-04-14 48 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

这可能是由于在控件第一次变为可见之前绑定不起作用。解决方法是使第二个网格临时可见。

相关问题