- - PR -
VC++ DataGridViewのセルに格納された値をtextBoxに表示させる
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-02-20 09:32
VC++ DataGridViewのセルに格納された値をtextBoxに表示させる
フォーム上にtextBox4つと、DataGridViewとボタンを配置しています。 textBoxAは、ボタンを押す度数字が上がっていきます。 他の3つのtextBoxに数値を入れ、ボタンを押すとtextBoxA B C Dが一行、各セルに格納するようなプログラムになっています。 @textBoxの値を変更した時 ADataGridViewの行(セルでも可) に、textBox4つにさっき入れた値が表示されるよおうにしたいのです。 例 A B C D 1 10 11 12 2 20 21 22 3 30 31 32 と、すでにDataGridViewの方に格納してある時、textBoxの値は『4』になっていますが、それを『2』に変更した時、あるいは『2』の行(またはセル)を押した時に textBoxB 20 textBoxC 21 textBoxD 22 と表示されるように… @はtextBoxA_TextAlignChanged関数で int A = Convert::ToInt32(textBoxA->Text); String^ B = DataGridView[1,A-1]->Value); //C Dも同様に textBoxB->Text = B; //C Dも同様に AはDataGridView_CellClick関数で int A = Convert::ToInt32(textBox_title->Text); GridBox[1,A-1]->Value = textBoxB->Text; //C Dも同様 と書いてみたんですけど… Aは、セルのどこを押されたかを判断する(DataGridView[●,○]の丸部分を取得する)のがよく分からず… どなたか、分かる方よろしくお願いします。 |
|
投稿日時: 2009-02-20 10:02
> Aは、セルのどこを押されたかを判断する(DataGridView[●,○]の丸部分を取得する)のがよく分からず…
> どなたか、分かる方よろしくお願いします。 CellClick イベントで押されたセルを判断するのは DataGridViewCellEventArgs で出来ませんか? |
|
投稿日時: 2009-02-20 10:30
DataGridView_CellClickイベントハンドラ内に特に取得する関数を書かなくてもいいということですか?
|
|
投稿日時: 2009-02-20 12:25
はい、試してみて下さい。
|
|
投稿日時: 2009-02-20 13:52
int A = Convert::ToInt32(textBox_title->Text);
GridBox[1,A-1]->Value = textBoxB->Text; //C Dも同様 では、だめなんでしょうか? |
|
投稿日時: 2009-02-20 15:12
>では、だめなんでしょうか?
それを判断するのは貴方の役目です。 textBox_title にて指定したセル(行番号)に textBoxB の値を入れるのであれば正解でしょう。 DataGridViewCellEventArgs については調べましたか? その結果、何か解りましたか? それは貴方の求めていた事(セルのどこを押されたかを判断する)ではありませんでしたか? |
|
投稿日時: 2009-02-24 14:22
ありがとうございます。
参考になりました。 難しいので、まず出力して確認してみようと int column = e->ColumnIndex; int row = e->RowIndex; String^ out; out = String::Format("{0},{1}", column, row); Debug::WriteLine( out ); と書いてみたのですが、ビルド→デバッグしても何も表示されません… これって、どこか間違っているんでしょうか… |
|
投稿日時: 2009-02-24 14:41
ブレイクポイントを設置して
ステップ実行して 1行ずつ 変数やオブジェクトの中身を 確認してみて下さい。 |
1