2012-01-30 51 views

回答

1

如果您將DataGridView綁定到一個表,您只需將Form2中的引用設置爲該表。在你的情況下,你可能想要在第二種形式中引用實際的DataGridView。

從維護的角度來看,這不是最好的編程風格 - 最好使用數據源。

這裏有一種簡單的方法來顯示第二個DataGridView與來自第一個DataGridView的數據。這並不完美,但它應該向你展示這個想法。

public Form2(DataGridView dgvFromFom1) { 
    InitializeComponent(); 

    foreach (DataGridViewColumn dc in dgvFromForm1.Columns) { 
    dataGridView1.Columns.Add(dc.Name, dc.HeaderText); 
    } 

    foreach (DataGridViewRow dr in dgvFromForm1.Rows) { 
    Object[] newRow = new object[dr.Cells.Count]; 

    for (int i = 0; i < newRow.Length; i++) { 
     newRow[i] = dr.Cells[i].Value; 
    } 
    dataGridView1.Rows.Add(newRow); 
    }  
} 

雖然如此,使用DataSource可以更容易。

+0

它不工作...你能給我一個例子,我可以如何完成其​​他DataGridView的數據? – 2012-01-30 16:15:28

+0

@EmilDumbazu您是否正在尋找*從Form1中的網格中讀取數據,或者從Form1中的Form2中顯示相同的網格?取決於你想要做什麼。 – LarsTech 2012-01-30 16:22:11

+0

讀取數據。 – 2012-01-30 16:26:36

0

您不需要在FormsGrids之間傳輸數據。問題是,如果你想要我們需要共享它們之間的數據,只需定義一個包含數據的外觀類,並且應用程序的所有部分(Forms,Grids,其他)都會使用該單一數據, 完全相同實例。

也就是說。