tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: フォームを共用したい
投稿日: 2006/11/01(Wed) 20:08
投稿者魔界の仮面弁士
> > > frm.ShowDialog(Me)
> > あれ? DataGridView が持っているデータセットを Form2 に渡さなくて良いのですか?

# 単行編集なら、データセットではなく、DataRow を渡すだけでよいかも。

> はい。その渡し方が分からないのです。

案1) Form2 の ShowDialog をオーバーロードして、
 DataSet/DataTable/DataRow のいずれかを引数として渡せるようにする。

案2) Form2 のコンストラクタに、DataSet/DataTable/DataRow のいずれかを引数として加える。

案3) Form2 側が、データが必要なとき(たとえば、Formのロード時)に、
 DataSet/DataTable/DataRow のいずれかを要求するイベントを公開する。

案4) Form2 に、DataSet/DataTable/DataRow のいずれかを受け取るプロパティを用意する。

などなど。


> > > MainOrderBindingSource.AddNew()
> > AddNew するのではなく、現在行を調整するようにすれば OK かと。
> 調整とはどのようなやり方なのか教えてください。

BindingSource での現在行は、Position プロパティで表されます。
また、その Position を得るために、Find メソッドを使う事ができます。

あるいは、BindingSource を使わないのであれば、型付DataTableの
'Find主キー' メソッドを使うという手もあります。
# DataTable.Select も使えるかな?

Find 系メソッドを使う以外の方法としては、目的の行を得るために、
全行ループして探すという手もあるかと思います。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。