- PR -

VC++ DataGridViewのセルに格納された値をtextBoxに表示させる

1
投稿者投稿内容
ban
常連さん
会議室デビュー日: 2009/02/06
投稿数: 26
投稿日時: 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[●,○]の丸部分を取得する)のがよく分からず…
どなたか、分かる方よろしくお願いします。
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2009-02-20 10:02
> Aは、セルのどこを押されたかを判断する(DataGridView[●,○]の丸部分を取得する)のがよく分からず…
> どなたか、分かる方よろしくお願いします。

CellClick イベントで押されたセルを判断するのは DataGridViewCellEventArgs で出来ませんか?
ban
常連さん
会議室デビュー日: 2009/02/06
投稿数: 26
投稿日時: 2009-02-20 10:30
DataGridView_CellClickイベントハンドラ内に特に取得する関数を書かなくてもいいということですか?
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2009-02-20 12:25
はい、試してみて下さい。
ban
常連さん
会議室デビュー日: 2009/02/06
投稿数: 26
投稿日時: 2009-02-20 13:52
int A = Convert::ToInt32(textBox_title->Text);

GridBox[1,A-1]->Value = textBoxB->Text; //C Dも同様

では、だめなんでしょうか?
ヴァン
常連さん
会議室デビュー日: 2008/03/04
投稿数: 28
投稿日時: 2009-02-20 15:12
>では、だめなんでしょうか?

それを判断するのは貴方の役目です。

textBox_title にて指定したセル(行番号)に textBoxB の値を入れるのであれば正解でしょう。

DataGridViewCellEventArgs については調べましたか?
その結果、何か解りましたか?
それは貴方の求めていた事(セルのどこを押されたかを判断する)ではありませんでしたか?
ban
常連さん
会議室デビュー日: 2009/02/06
投稿数: 26
投稿日時: 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 );
と書いてみたのですが、ビルド→デバッグしても何も表示されません…
これって、どこか間違っているんでしょうか…
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2009-02-24 14:41
ブレイクポイントを設置して
ステップ実行して
1行ずつ
変数やオブジェクトの中身を
確認してみて下さい。
1

スキルアップ/キャリアアップ(JOB@IT)