- - PR -
DataGrid内のCheckBoxListの値を取得したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-02-16 18:04
タイトルと同様の内容でCheckBoxの値は取得できたのですが、今回はCheckBoxListについてです。
DataGrid内に設置したCheckBoxListのそれぞれの値を取得したいのですが、方法がわかりません。 Dim cbData As CheckBoxList Dim cbName As String Dim i as Integer cbData = CType(DataGrid.Items(i).FindControl("CheckBoxList"), CheckBoxList) cbName = cbData.UniqueID という具合にDataGridのi行目にあるCheckBoxListのIDを取得した後、はてどうすればよいのかと考えている次第です。 こちらのログを読み、フォーム内のデータはRequest.formを介するようにとあったのですが、 Request.Form(cbName) には何も入らないのです。 解決法をご存じの方、ご教授をお願いいたします。 | ||||
|
投稿日時: 2005-02-16 23:15
??? cbDataでCheckBoxListが取得できているのだから それを使えばいいのでは…。 | ||||
|
投稿日時: 2005-02-17 08:27
>cbDataでCheckBoxListが取得できているのだから
>それを使えばいいのでは…。 最初はそのcbDataから直接に値を取り出せるのかなと思っていたのですが、 例えば、チェックボックスリストのj番目の要素について cbData.Items(j).Selected としても、フォーム上でチェック/解除した値が返ってきません。 予めデータをcbData.Items(j).Selected=Trueとしてチェックしておき、それを解除してもTrueの値が返ってきます。つまり反映されていないのかなと思った次第でして。 | ||||
|
投稿日時: 2005-02-17 09:11
こんにちは。
>予めデータをcbData.Items(j).Selected=Trueとしてチェックしておき、それを解除しても>Trueの値が返ってきます。つまり反映されていないのかなと思った次第でして。 簡単なサンプルで確認してみたのですが、どうやらPostBackが起きると以前のチェックした データは消えて初期状態に戻っていますね。EnableViewState = Trueでも駄目みたいですね。 その前に黒コアラさんはどのイベントでCheckBoxListの値を取得していますか? | ||||
|
投稿日時: 2005-02-17 09:41
お世話になります。
すいません、参考書とかhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12272&forum=7 こちらを読んでよくよく考えてみたところ、page_load→サーバコントロールの発生時ということをすっかり忘却しておりました。 DataGridへのDataBindをpage_load中でpostbackの度に行っていたのが原因でした。 どうもありがとうございました。 |
1