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

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

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

Re[2]: GirdViewの選択行の受け渡し


(過去ログ 83 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■49469 / inTopicNo.1)  GirdViewの選択行の受け渡し
  
□投稿者/ C#初心者 (12回)-(2010/05/06(Thu) 11:01:08)

分類:[C#] 

いつもお世話になっております。
Form1にあるDataGridViewの選択されている行の情報をForm2に持って行きたいのですがどうしてよいかわかりません。

色々調べてみたところ
	DataGridViewRow dgvr = Test_GridView.CurrentRow;
	DataRowView drv = (DataRowView)dgvr.DataBoundItem;
	DataRow dr = drv.Row;
こうすれば選択行を取得できる所まではできたのですが肝心のフォーム間の受け渡しがさっぱりなのです。

どうにかしてDataRow dr = drv.Row;の「dr」をpublicなりにしてForm2の方で引っ張ってこれればいいのですが。
如何せんプログラミング自体、初心者なのでなにがなにやら・・

どなたかご教授下さい、お願いします。

以下、Form1のソースです。

    // ボタン1をクリックすると選択行を取得して、Form2を表示
        public void Button1_Click(object sender, EventArgs e)
        {
         // 選択行を取得
		DataGridViewRow dgvr = Staff_GridView.CurrentRow;
		DataRowView drv = (DataRowView)dgvr.DataBoundItem;
		DataRow dr = drv.Row;
		String ptb = dr["id"].ToString();

		// Form2 の新しいインスタンスを生成する
		Change_Form cForm2 = new Change_Form();

		// Form2 をモーダルで表示する
		cForm2.ShowDialog();

		// 不要になった時点で破棄する (正しくは オブジェクトの破棄を保証する を参照)
		cForm1.Dispose();
        }


Form2の書き方はさっぱりわかりません。Form_Loadのところで受け取りたいです。

引用返信 編集キー/
■49491 / inTopicNo.2)  Re[1]: GirdViewの選択行の受け渡し
□投稿者/ いしだ (225回)-(2010/05/06(Thu) 19:12:45)
やり方は何通りもあると思いますが、例えば、
・Form2にDataGridViewRowの参照をもっておき、Form2をnewした後にそこに設定して、load時にその行の値を参照する
・Form2に値の変数を持っておき、Form2をnewした後に設定して、load時にその行の値を参照する
など、思いつきました。
引用返信 編集キー/
■49537 / inTopicNo.3)  Re[2]: GirdViewの選択行の受け渡し
□投稿者/ C#初心者 (13回)-(2010/05/07(Fri) 16:24:25)
No49491 (いしだ さん) に返信
> やり方は何通りもあると思いますが、例えば、
> ・Form2にDataGridViewRowの参照をもっておき、Form2をnewした後にそこに設定して、load時にその行の値を参照する
> ・Form2に値の変数を持っておき、Form2をnewした後に設定して、load時にその行の値を参照する
> など、思いつきました。

返信ありがとうございます。あれから色々試したところいしださんでいうLoad時にその行の値を参照する。という方法でクリアできました。
稚拙な質問に付き合っていただきありがとうございました。
それと返信が遅くなって申し訳なかったです。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -