我正在创建一个Windows窗体应用程序,我希望从数据库中获取数据,这些数据将同步到我可以在特定表中找到的目标数据库。
为此,我在TabControl
内Form 1
为TabPages
创建了TabPage
,每个目标数据库都是实用的。对于每个foreach (DataRow row in targetDatabases.Rows)
{
//Checking for target databases that aren't Master
if (int.Parse(row["IS_MASTER"].ToString()) == 0)
{
//Creating a new TabPage for every target found in the Table
TabPage newPage = new TabPage(row["CODE"].ToString());
// I'm not sure if this should be
newPage.Parent = tabControl;
// or tabControl.Controls.Add(newPage)
//Creating a new DataGridView for every target found
DataGridView newDgv = new DataGridView();
//Also not sure if this should be
newDgv.Parent = newPage;
//or newPage.Controls.Add(newDgv)
//Setting the DataSource
currDGV.DataSource = Model.getGridViewData(xmlpath, 0);
//Layout settings for the DataGridView
.
.
.
}
}
// Return the TabControl to the View
return tabControl;
我创建一个DataGridview来存储数据,我让用户选择他们想要同步的记录。
DataGridView
现在没问题。
现在,用户可以选择要同步的记录和目标。
这就是它的样子:
但是现在,我不知道如何访问每个for (int i = 0; i < targetDatabaseCount; i++)
{
tabPages[targetDatabaseCount] = (TabPage)inputTabControl.GetControl(targetDatabaseCount);
foreach (TabPage tabPage in tabPages)
{
DataGridView tempDgv = //don't know how to get the gridview from the TabPage
}
}
中的数据以将用户选择保存到文件或开始同步。
我试过这样的事情:
{{1}}
因为我是学徒,请对我宽容,这是我在这里的第一篇文章:)
答案 0 :(得分:0)
您可以迭代每个标签页中的控件,如果控件是datagridview,您可以将其转换并使用。
像这样:
foreach (TabPage tbp in tbctrl.TabPages)
{
foreach (Control ctrl in tbp.Controls)
{
if (ctrl is DataGridView)
{
DataGridView newDgv = (DataGridView)ctrl;
string strValue = newDgv.Rows[0].Cells[0].Value.ToString();
}
}
}