- PR -

ラジオボタンのデータバインドについて

1
投稿者投稿内容
マイキー
会議室デビュー日: 2006/09/21
投稿数: 2
投稿日時: 2006-09-21 16:39
VS2005 win XP

性別を選択させる、男と女のラジオボタン(グループボックスにて)を作成しています。
データには、男なら'男'、女なら'女'とういう文字を登録しています。
現状、隠しで性別のデータをバインドさせているテキストボックス作成し、男を押したらテキストボックスに'男'という文字列をいれて、女を押したら'女'という文字列を入れて登録しています。

また、データを読み込む際には、隠しのテキストボックスの値をみて、ラジオボタンに値をいれています。

if me.txt性別.text = '男'then
me.rp男.chekd = true
else
me.rp女.chekd = true
end if

みたいな、感じです。

隠しのテキストとかをつかわず、グループボックス自体に値をもたせて、値によって自動的にラジオボタンの値をかえるとかはできるのでしょうか?
キャミ
会議室デビュー日: 2006/09/22
投稿数: 6
投稿日時: 2006-09-22 01:35
初めまして!
VS2005の経験はないのですが、基本動作だと思うので、発言させて頂きます。

「me.rp男」と「me.rp女」のRadioButtonは、トルク動作しますか?
普通2つがグループ設定されていてトルク動作するのであれば、Checkされたタイミングで、自動的に対象のオブジェクトのCheckedプロパティがtrueになるはずです。

それでも出来ないのであれば、ダサいですが_Click()イベントでやるなどですかね。
全く無関係なテキストを使うよりは良いかと思います。

というか、学生さんですか?

失礼します。
マイキー
会議室デビュー日: 2006/09/21
投稿数: 2
投稿日時: 2006-09-22 09:08
返答ありがとうございます。

Accessの時はグループボックスに値をもたせることができたので同じようにできるかと思ったのですが・・・。
やっぱりClickイベントでやるしかないんですね。やってみます。
ちなみに学生ではありませんよ。
キャミ
会議室デビュー日: 2006/09/22
投稿数: 6
投稿日時: 2006-09-22 12:58
私は大してスキルがある訳ではないので、書き込もうか悩みました。
もし間違っていたらすみません。

ちなみに、Windowsアプリですか?Webアプリですか?
私はWebアプリとして説明しますね。
例えばですが、下のようにDataGridのItemTempateに埋め込むだけで判断はしてくれると思います。
コード:
<ItemTemplate>
	<asp:RadioButton ID="Man" GroupName="性別" Text="男"></asp:RadioButton>
	<asp:RadioButton ID="Woman" GroupName="性別" Text="女"></asp:RadioButton>
</ItemTemplate>



あとはC#上でデータ取得する際は、

対象の列に存在するObjectが男と女のRadioButton2つだけなら、以下のように取得出来ると思います。

[男が1つ目、女が2つ目のRadioButtonの場合]

コード:
// 男RadioButtonの取得
System.Web.UI.WebControls.RadioButton GridRadio = (RadioButton)DataGrid.Items[行数].Cells[列数].Controls[1]

// 女RadioButtonの取得
System.Web.UI.WebControls.RadioButton GridRadio = (RadioButton)DataGrid.Items[行数].Cells[列数].Controls[3]



求めているものであれば、幸いです。
失礼します。
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2006-09-22 13:26
データって、何らかのデータベースから取得するんですよね?

データを読み取った時点で「性別」を判断して、ラジオボタンのチェックを切り替えればいいような気がしますが、それは出来ないのでしょうか?
1

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