- - PR -
GridViewにDropDownListを連動させ、そこからさらにDropDownListを連動させたい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-10-02 14:15
ちょっと設定がややこしいため、長くなりますが、
ご回答よろしくお願いいたします。 --------------------------------- 現在、GridViewにDropDownListを連動させ、 そこからさらにDropDownListを連動させたいと思っています。 まず、GridView(GV1)があります。 そこには次のようなテーブル(tb1)を表示しているとします。 ID|ユーザ名|ユーザID|GID 1|テスト01|testusr1| 10 2|テスト02|testusr2| 20 3|テスト03|testusr3| 10 4|テスト04|testusr4| 20 また、これとは別に、このテーブルのグループの一覧をリストにした DropDownList(DDL1)があります。 さらに、このDDL1で選択したユーザが属するグループに属する全ユーザを リストアップするDropDownList(DDL2)があり、 DDL1が選択されると同時にDDL2も更新されるようになっています。 例えば、DDL1で「10」を選ぶと、それに連動してDDL2には 「testusr1」「testusr3」の2項目がリストで表示されるようになります。 --------------------------------- このとき、GV1からID2を選択したときにDDL2を、
このようなSQLでバインドさせます。 すると、ddl2.SelectedValueの箇所で、 「項目一覧に存在しないため、'ddl2' に SelectedValue を指定することは無効です。」 というエラーが出てきます。 ddl2.SelectedValue = "testusr2"; の行をコメントアウトして確認したら、 DDL2のリスト自体は更新されていることは確認できました。 --------------------------------- そこで質問なのですが、 GV1を選択した際に、DDL2のリストを更新し、 さらにSelectedValueをGV1で選択した項目をSelectedにするには、 どうすれば良いでしょうか? | ||||
|
投稿日時: 2007-10-02 15:23
すみません、やっと頭の整理がつきました。
簡単にまとめれば、 SQLのDataBindでリストを作っているDropDownListにおいて、 DataBindした瞬間にデフォルトで選択されている項目も一緒に変更できるか、 ということだと思います。 ややこしく書いてしまって申し訳ありません。 | ||||
|
投稿日時: 2007-10-02 23:54
ddl2のDataBoundでやるのがいいでしょうかね。 [追記] あ、直前でddl2.DataBind();しちゃってもできるかな。 [ メッセージ編集済み 編集者: べる 編集日時 2007-10-03 00:03 ] | ||||
|
投稿日時: 2007-10-03 11:25
ご回答ありがとうございます。
ご助言の通り、直前にDataBindをはさむことで、 SelectedValueが機能するようになりました。 ありがとうございました。 |
1