- PR -

DataGrid内のRadiobuttonの値の再Checked

投稿者投稿内容
ぷにぷに
常連さん
会議室デビュー日: 2003/07/14
投稿数: 24
投稿日時: 2004-03-01 14:06
お世話になっております。ぷにぷにです。

PreRenderを使って現在処理を行わせるように変更しました。
「OnPreRender」はPage_Loadの後に処理を行う様ですので、
Page_Loadの代わり(?)になるのかな。と考えております。

現在、OnpreRender内で
Dim ctlRadio As RadioButton
for i = 0 to 3
If CType(answertbl.Items(i).FindControl("RadioButton1"),
RadioButton).Checked = True then
ctlRadio = CType(answertbl.Items(i).FindControl("RadioButton1"),
RadioButton)
CType(ctlRadio, RadioButton).Checked = True
end if
next

と行わせてます。

現在の状況といいますと、
  @DataBindの後にこの処理は行っている
  A(4個ある)RadioButtonのどれかをクリックするとAutoPostBackで
   「OnPreRender」処理が行われる
  Bデバッグを行うとチェックをいれたn番目の
      CType(answertbl.Items(i).FindControl("RadioButton1"),
RadioButton).Checked
   はTrueその他はFalseになっている


ここからどうしたいか?
  @(4個ある)RadioButtonのどれかをクリックした後、再度同じ所に
   Checkが入っているようにしたい

という事を行わせたいです。

これまで教えを頂いたり、調べたりと行ってきのですが、
再セットの仕方がわかりません。
情報をお持ちの方がいらっしゃったらご教授していただけますでしょうか?
申し訳ございませんが、よろしくお願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-03-01 15:24
引用:

ぷにぷにさんの書き込み (2004-03-01 14:06) より:

「OnPreRender」はPage_Loadの後に処理を行う様ですので、
Page_Loadの代わり(?)になるのかな。と考えております。


 気になったので、ここだけ。

 PreRenderは「描画前処理」で、PageLoadは「ページ読み込み処理」なので、“代わり”にはなりません。

 メソッドとイベントハンドラの実行順は
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconcontrolexecutionlifecycle.asp
ここに書いてあるとおりです。「読み込み」と「描画前」の間には「イベント処理」が行われるので、「イベント処理」前に実行しておかなければならないことは「読み込み」で行わなければなりません。
ぷにぷに
常連さん
会議室デビュー日: 2003/07/14
投稿数: 24
投稿日時: 2004-03-01 16:20
Jitta様、ありがとうございます。

引用:

Jittaさんの書き込み (2004-03-01 15:24) より:

 PreRenderは「描画前処理」で、PageLoadは「ページ読み込み処理」なので、“代わり”にはなりません。

 メソッドとイベントハンドラの実行順は
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconcontrolexecutionlifecycle.asp
ここに書いてあるとおりです。「読み込み」と「描画前」の間には「イベント処理」が行われるので、「イベント処理」前に実行しておかなければならないことは「読み込み」で行わなければなりません。



とんでもない間違いを犯していました。
まだまだMSDNの紐解き方もわかっていないのでもっと詳しく読みます。

再セットはセットに関しては出来るようになりました。
ただ 一個目クリック=>OK
二個目クリック=>一個目二個目ともにセット
となってますが。。。。

がんばります。。。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-03-01 16:24
引用:

ぷにぷにさんの書き込み (2004-03-01 16:20) より:

再セットはセットに関しては出来るようになりました。
ただ 一個目クリック=>OK
二個目クリック=>一個目二個目ともにセット
となってますが。。。。

がんばります。。。



NAL-6295です。
2個目クリックした時に、2個目にTrueをセットし、
その他をFalseにしてあげればよいのでは?
ぷにぷに
常連さん
会議室デビュー日: 2003/07/14
投稿数: 24
投稿日時: 2004-03-01 16:36
NAL-6295様ありがとうございます。

引用:

NAL-6295の書き込み;
2個目クリックした時に、2個目にTrueをセットし、
その他をFalseにしてあげればよいのでは?



現在、
if CType(answertbl.Items(i).FindControl("RadioButton1"), RadioButton).checked
= True then

というIf文を入れてそこから処理をカリカリ書いていたのですが、
  @一個目のRadioにCheck=>OK
  A二個目のRadioを押したときに一個目のRadioButtonのCheckedもTrueになってます。

上記A番で困っております。

##すいません。ちょっと編集させて頂きました。
.aspの勉強より先に日本語の勉強をした方がいいかも・・・(汗
すみませんでした。

##またまた編集いたしました。

[ メッセージ編集済み 編集者: ぷにぷに 編集日時 2004-03-01 16:40 ]

[ メッセージ編集済み 編集者: ぷにぷに 編集日時 2004-03-01 16:58 ]
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-03-01 16:45
NAL-6295です。

あう、そうですね。すいません。

ラジオボタンの項目に対応する項目をデータグリッドにバインドしているデータ元に追加して、前回とチェックの状態が変わってるかどうかで判断するってのが手っ取り早く解決できると思います。

が、データ元に、その項目を追加できない理由があるのであれば、申し訳ありません。

#引用が不必要だったので削除
#不必要がひらがなだったので修正
[ メッセージ編集済み 編集者: NAL-6295 編集日時 2004-03-01 16:46 ]

[ メッセージ編集済み 編集者: NAL-6295 編集日時 2004-03-01 16:58 ]
ぷにぷに
常連さん
会議室デビュー日: 2003/07/14
投稿数: 24
投稿日時: 2004-03-01 16:53
NAL-6295さんありがとうございます。

引用:

NAL-6295さんの書き込み (2004-03-01 16:45) より:

ラジオボタンの項目に対応する項目をデータグリッドにバインドしているデータ元に追加して、前回とチェックの状態が変わってるかどうかで判断するってのが手っ取り早く解決できると思います。




目先の事(RadioButtonが2、3個とCHECKがついちゃう)ばかり考えていて
そこを見落としておりました。
チェックの状態変化で判断出来ますね。
ありがとうございました。
出来そうです!

コメントを頂いた皆様、ほんとうにありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-03-01 16:59
引用:

ぷにぷにさんの書き込み (2004-03-01 16:20) より:

とんでもない間違いを犯していました。
まだまだMSDNの紐解き方もわかっていないのでもっと詳しく読みます。


 いえいえ、私も悩んだ口です。。。

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