我目前正在创建一个 Windows 窗体应用程序,我想从数据库中获取数据,该数据库将同步到我可以在特定表中找到的尽可能多的目标数据库。
为此,我为每个目标数据库实用地创建了一个TabControl
内部文件。对于每个我创建一个 DataGridview 来存储数据,并让用户选择他们想要同步的记录。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
以将用户选择保存到文件或开始同步。
我试过这样的事情:
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
}
}
请对我宽容,因为我是学徒,这是我在这里的第一篇文章:)