我正在开发一个 Windows 窗体应用程序。我的窗口窗体中有两个 tab2。在每个选项卡中,我构建了一个我将其命名为 dgvRound 的 datagridview。我将两组不同的数据加载到这两个选项卡中的两个 datagridview 中。当我从 tab1 切换到 tab2 时,我仍然看到 tab1 上的 datagridview 数据。如何更改它(货币?)以查看 tab2 中的 dgvRound,我用新数据更新 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);
我根据一些变量调用了上面的代码多次创建选项卡和 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 (Control myControl in col) { if (myControl.ToString() == "System.Windows.Forms.DataGridView") { DataGridView tempdgv = (DataGridView)myControl; tempdgv.SelectAll(); dgvRound = tempdgv;} } 再次感谢你的帮助...