2012-07-17 29 views
2

我正在使用Windows窗體應用程序。我的窗口中有兩個tab2。在每個選項卡中,我構建了一個datagridview,我將其命名爲dgvRound。我在這兩個選項卡中的兩個datagridview中加載了兩組不同的數據。當我從tab1切換到tab2時,我仍然可以看到tab1上的datagridview數據。如何更改它(貨幣?)以查看tab2中的dgvRound,我使用新數據更新datagridview?使用超過2個動態創建的datagridview

// tabView is my main tab page control 
// Add a new tab for a new round 
string title = "Round " + Convert.ToString(intRound); 
TabPage myTabPage = new TabPage(title); 
tabView.TabPages.Add(myTabPage); 

// set up datagridview box 
DataGridView dgvRound = new DataGridView(); 
myTabPage.Controls.Add(dgvRound); 
// set up the datagridview column and row headings 
SetupTableView(dgvRound); 

//load datagridview in a loop with different data from different dataset 
string[] row1 = new string[] { "array of datas" }; 
dgvRound.Rows.Add(row1); 

我調用上面的代碼根據一些變量多次創建tab和dgv。每個選項卡中每個數據網格中的數據都可以。但是當我嘗試從tab2中從datagridview(dgvRound)中提取數據時,我看到tab1中的數據不是tab2。例如: dgvRound.Rows [0] .Cells [「Game 1」]。Value。我如何告訴它看看tab2.dgvRound.Rows [0] .Cells [「Game 1」]。Value?

感謝您的幫助 丹尼爾

感謝HotSoft,我終於找到了代碼來搜索一個動態創建的標籤頁當前datagridview的。我加了這個,現在它正在工作。 TabPage CurrentTabPage = tabView.SelectedTab; //獲取所有控件 Control.ControlCollection col = CurrentTabPage.Controls; //應該只有一個DGV 的foreach(控制myControl在COL) { 如果(myControl.ToString()== 「System.Windows.Forms.DataGridView」) { 的DataGridView tempdgv =(DataGridView中)myControl; tempdgv.SelectAll(); dgvRound = tempdgv; } } 再次感謝您的幫助...

回答

2

考慮到我看不到你的代碼在每個標籤

動態創建的DataGridView看起來你都呈現相同的DataGrid兩個卡口與出重裝或再結合不同的選項卡

爲DataGrid的不同數據源

更新的OP的評論:

您可以從標籤頁獲得的DataGridView這樣

DataGridView dataGridView1 = tabPage1.Controls.OfType<DataGridView>() as DataGridView; 
DataGridView dataGridView2 = tabPage2.Controls.OfType<DataGridView>() as DataGridView; 
+0

這裏是我如何創建標籤和dgv – 2012-07-17 21:03:46

+0

@DanielDang我看不到你的答案或任何地方的任何鏈接的任何變化 – HatSoft 2012-07-17 21:05:08

+0

我在我最初的問題中添加了我的代碼...謝謝 – 2012-07-17 21:19:27

1

爲什麼你不爲每個tabPage創建兩個不同的DataGridViews? 或者,如果您只想在兩個選項卡上使用1個dgv,請清除它(將數據源設置爲空)併爲下一個選項卡設置新的數據源。

+0

我不知道會提前創建多少個選項卡。每個選項卡都有一個包含不同數據集的數據網格。 datagrid的結構在每個選項卡中都是相同的。現在我把它作爲dgvRound。 – 2012-07-17 21:22:41