- - PR -
asp.netでのリストボックス複数選択について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-10-23 14:04
いつも参考にさせていただいております。
現在、ASP.NET(c#)でWebアプリを作成しています。 そこでリストボックスの仕様について質問があります。 今回、リストボックスは複数選択ありで、 SelectionMode = True で作成しているのですが、確かに画面選択するときは複数選択できるのですが、 初期表示でプログラムで複数選択を指定すると、ループで最後に選択した 1行しか選択されません。 これはこういう仕様でしょうか? もしくは選択方法が間違っていますでしょうか? ------------------------------------------------ for(int i=0; i<listBox.Items.Count; i++) { listBox.SelectedIndex = i; } こうすると、Item件数が5件あったとして 5件目のアイテムのみ選択されて表示されます。 ------------------------------------------------ ぜひアドバイス宜しくお願いいたします。 | ||||||||
|
投稿日時: 2007-10-23 14:24
ListBox の SelectedIndex を変更するのではなくて、 ListBox に含まれる Item の Selected を True にしてあげる必要があると思いますよ。 _________________ かるあ のメモ と スニペット | ||||||||
|
投稿日時: 2007-10-23 14:26
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.listcontrol.selectedindex(VS.80).aspx
ドキュメントでは 「リスト コントロールが複数の選択をサポートしている場合は、このプロパティを使用して、選択された項目の最小のインデックスを決定します。」 となってますね。 なんか微妙ですが、「最小のインデックス」と書いてあるところからみて1つだけしか設定できないのかもしれません。 | ||||||||
|
投稿日時: 2007-10-23 15:03
かるあさん、どっとねっとふぁんさん、いつもありがとうございます!
そうだったんですね! 見事に全選択できました。 ありがとうございます!
SelectedIndexプロパティですと、そうみたいですね。 確かに複数選択の場合の値の取得はItem件数をまわして取得していました。 選択もItemからアクセスすればよかったんですね。 ささやかな事でつまづいていたので本当に助かりました。 ありがとうございました! | ||||||||
|
投稿日時: 2007-10-23 21:08
SelectionMode のページに、そのまんまなサンプル コードがあるのですが。
なんでリファレンスを読まないのか、非常にしりたい 日本って、マイクロソフトにとって特別扱いで、ドキュメントの翻訳に多大な費用がかかっているのですが、「読まれへんなら要らへんやん」と言われないために、是非活用して欲しいです | ||||||||
|
投稿日時: 2007-10-26 11:47
Jittaさん、遅ればせながらアドバイスありがとうございます。
まことにおっしゃるとおりで返す言葉もございません・・・。 反省しきりでございます。 今後はお恥ずかしい質問はしないよう心がけます。 ありがとうございました。 |
1