C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■89869 / )  別フォーム(クラス)から同じDataTableを参照したい
□投稿者/ タック (1回)-(2019/01/11(Fri) 10:10:15)

分類:[VB.NET/VB2005 以降] 

サンプルを見ながら何本かVB.NETで作成してきたのですが、基本が理解できていないため躓きながらなんとか作成してきた初心者です。
今回は、前から理解できていない内容を教えていただきたく質問いたしました。

(Windows10 64bit、Visual Studio2017、VB.NET、ターゲットフレームワーク.NET Framework4.6.2で開発しています)

新規プロジェクトにForm1とForm2を追加し、モジュールの追加でデータセットDataSet1.xsdを作成しその中にDataTable(DataTable1)を作成いたしました。

Form1でDataTable1を使用するために
Dim ds As New DataSet1()
Dim dt As DataTable = ds.DataTable1
と、新しいインスタンスを作成いたしました。

●質問
Form1でDataTable1にデータを入力したとして、Form2から同じDataTable1を参照する方法を教えていただけますでしょうか?

わからないなりにいくつか方法を考えたのですが実現方法が分かりませんでした。
1.Form2から、Form1でインスタンス化したDataTable1を指定する方法
2.Form1やその前にモジュールなどでインスタンス化する際に他のクラスからも参照できるグローバルな宣言をする方法
3.DataSet1.xsdを作成する際やコードの指定で同じプロジェクト内であればどのクラスからでも参照できる宣言方法

オブジェクト指向型の基本がよく理解できていないため、ピント外れなことを質問している自覚はあるのですが、本来はどうすべきなどとお考えをお聞かせいただければと思います。

今まではForm1上にDataGridViewを作成し、そのプロパティでDataSourceにDataTable1BindingSourceを指定してきました。

よろしくお願いいたします。
返信 編集キー/


管理者用

- Child Tree -