タイトル : 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 系メソッドを使う以外の方法としては、目的の行を得るために、 全行ループして探すという手もあるかと思います。 |