私は現在、特定のテーブルで見つけることができる限り多くのターゲットデータベースに同期されるデータベースからデータを取得したいWindowsフォームアプリケーションを作成しています。
そうするために、私はすべてのターゲットデータベースに対して実用的に作成されたTabControl
内部Form 1
を作成しました。TabPages
それぞれについてTabPage
、データを保存するためのDataGridviewを作成し、ユーザーが同期するレコードを選択できるようにします。
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
}
}
私は見習いであり、これが私の最初の投稿ですので、寛大にしてください:)