- PR -

asp.netでのリストボックス複数選択について

1
投稿者投稿内容
みつん
大ベテラン
会議室デビュー日: 2004/05/21
投稿数: 100
投稿日時: 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件目のアイテムのみ選択されて表示されます。

------------------------------------------------

ぜひアドバイス宜しくお願いいたします。


かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-10-23 14:24
引用:

みつんさんの書き込み (2007-10-23 14:04) より:
コード:
for(int i=0; i<listBox.Items.Count; i++)
{
 listBox.SelectedIndex = i;
}




ListBox の SelectedIndex を変更するのではなくて、 ListBox に含まれる Item の Selected を True にしてあげる必要があると思いますよ。
_________________
かるあ のメモスニペット
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2007-10-23 14:26
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.listcontrol.selectedindex(VS.80).aspx
ドキュメントでは
「リスト コントロールが複数の選択をサポートしている場合は、このプロパティを使用して、選択された項目の最小のインデックスを決定します。」
となってますね。
なんか微妙ですが、「最小のインデックス」と書いてあるところからみて1つだけしか設定できないのかもしれません。
みつん
大ベテラン
会議室デビュー日: 2004/05/21
投稿数: 100
投稿日時: 2007-10-23 15:03
かるあさん、どっとねっとふぁんさん、いつもありがとうございます!

引用:

ListBox の SelectedIndex を変更するのではなくて、 ListBox に含まれる Item の Selected を True にしてあげる必要があると思いますよ。



そうだったんですね!
見事に全選択できました。
ありがとうございます!

引用:

ドキュメントでは
「リスト コントロールが複数の選択をサポートしている場合は、このプロパティを使用して、選択された項目の最小のインデックスを決定します。」
となってますね。
なんか微妙ですが、「最小のインデックス」と書いてあるところからみて1つだけしか設定できないのかもしれません。



SelectedIndexプロパティですと、そうみたいですね。
確かに複数選択の場合の値の取得はItem件数をまわして取得していました。
選択もItemからアクセスすればよかったんですね。

ささやかな事でつまづいていたので本当に助かりました。
ありがとうございました!
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-10-23 21:08
SelectionMode のページに、そのまんまなサンプル コードがあるのですが。

なんでリファレンスを読まないのか、非常にしりたい
日本って、マイクロソフトにとって特別扱いで、ドキュメントの翻訳に多大な費用がかかっているのですが、「読まれへんなら要らへんやん」と言われないために、是非活用して欲しいです
みつん
大ベテラン
会議室デビュー日: 2004/05/21
投稿数: 100
投稿日時: 2007-10-26 11:47
Jittaさん、遅ればせながらアドバイスありがとうございます。

まことにおっしゃるとおりで返す言葉もございません・・・。
反省しきりでございます。

今後はお恥ずかしい質問はしないよう心がけます。
ありがとうございました。
1

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