- PR -

DataGridを表示する際、DataGridないのチェックボックスをチェック済みにしたい

1
投稿者投稿内容
sandayu
会議室デビュー日: 2005/01/14
投稿数: 14
投稿日時: 2005-01-14 12:26
お世話になっております。sandayuともうします。

ASP.NET(C#)+sqlServerで開発を行っております。

DataGridにチェックボックスを入れたり、チェックされたものを
検出することはできるのですが、DataGridを表示する際に、
チェック済みとして表示する方法がわかりません。

そこで、バインド後のdataGridを再度編集しなおそうとおもったのですが、
DataGridのcheckBoxオブジェクトはリードオンリーらしく、
編集ができませんでした。
となるとバインド前のDataSetに対して何らかの処理が必要なのかと
おもうのですが、なかなか方法を見つけることができません。

どなたか、知っていらっしゃる方がおりましたらアドバイスを
よろしくお願いいたします。
(サンプルURL等お願いいたします)

現在の実行のフローは下記のようになっております

DBセレクト(SqlDataAdapter取得)

データセットにアダプタをFILL(設定)

データセットをデータグリッドにバインド
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2005-01-14 15:19
こんにちは。

まず一つ目に私なりの疑問としては、CheckBoxにReadOnlyプロパティはないですよね?
CheckBoxオブジェクトがReadOnlyとは考えにくいと思われます。Enableはありえるかも
しれませんが、見た目で分かりますよね。。。

次に私もsandayuと同じ流れででやっていますが、バインド後にcheckBoxのChecked
プロパティを変える時どのようにして行っていますか?

ちなみに私は、下記VB.NETでごめんなさい。
コード:

バインド後
chkBox1 = CType(DataGrid1.Items(行インデックス).FindControl("checkBoxのID"), CheckBox)

'' Check状態のセット
chkBox1 .Checked = True




とやって何も問題ないんですけどね。。。

申し訳ないですが、もう少し情報をください。出来ればバインド後のチェック
ボックスに値を設定するところとか簡単で構いませんので。。。

[ メッセージ編集済み 編集者: SE卵 編集日時 2005-01-14 15:26 ]
sandayu
会議室デビュー日: 2005/01/14
投稿数: 14
投稿日時: 2005-01-14 15:32
SE卵様返信ありがとうございます。

>CheckBoxにReadOnlyプロパティはないですよね?
>CheckBoxオブジェクトがReadOnlyとは考えにくいと思われます。Enableはありえるかも
>しれませんが、見た目で分かりますよね。。。

はい。そうなんですが、
CheckBox cb.cheked = true;
DataGrid1.Items[i].Cells[2].Controls[1] = (WebControl)cb;
と行い、代入を行おうとおもって実行しましたところ、うまくいかなかったのです。

そこで、自分も色々とためしていたのですが、SE卵様がおっしゃられるようにな方法でC#で
((CheckBox)DataGrid1.Items[i].Cells[2].Controls[1]).Checked = true;
と、一度キャストして、ドット演算子でプロパティの設定を変更したら。
通常どおり実行できました。

お騒がせしてしまい申し訳ありませんでした。
ありがとうございました。
1

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