DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ASP.NETのListItemをまとめて削除したい

環境/言語:[XP,Microsoft .NET Framework バージョン :1.1.4322.2032; ASP.NET Version:1.1.4322.2032]
分類:[ASP.NET]

//リストからの削除
private void DellItems( System.Web.UI.WebControls.ListBox list ){
foreach( System.Web.UI.WebControls.ListItem item in list.Items ){
if( item.Selected ){
list.Items.Remove( item );
//return;
}
}
}

まとめて削除できるメソッドを見つけ切れませんでした
複数選択されている項目をまとめて削除したいのですが、
これではエラーになってしまいました
一つだけなら削除出来るようですが、returnしないとだめみたいです?

System.InvalidOperationException例外が発生したみたいです
他にいい方法あるでしょうか?
お願いします
じゃんぬねっと です。

■No8936に返信(もーぐるとさんの記事)
> まとめて削除できるメソッドを見つけ切れませんでした
> 複数選択されている項目をまとめて削除したいのですが、
> これではエラーになってしまいました
> 一つだけなら削除出来るようですが、returnしないとだめみたいです?

list は ListBox コントロールですか?
でしたら、
    ListBox1.Items.Clear();
では、ダメなんでしょうか?

for でやるならば、こんな感じでいかがでしょうか?

Source:---------------------------------------------------------

    for (int i = 0; i <= ListBox1.Items.Count; i++) {
        ListBox1.Items.RemoveAt(0);
    }
----------------------------------------------------------------
■No8946に返信(じゃんぬねっとさんの記事)
> じゃんぬねっと です。
>
> ■No8936に返信(もーぐるとさんの記事)
>>まとめて削除できるメソッドを見つけ切れませんでした
>>複数選択されている項目をまとめて削除したいのですが、
>>これではエラーになってしまいました
>>一つだけなら削除出来るようですが、returnしないとだめみたいです?
>
> list は ListBox コントロールですか?
> でしたら、
> ListBox1.Items.Clear();
> では、ダメなんでしょうか?
>
> for でやるならば、こんな感じでいかがでしょうか?
>
> Source:---------------------------------------------------------
>
> for (int i = 0; i <= ListBox1.Items.Count; i++) {
> ListBox1.Items.RemoveAt(0);
> }
> ----------------------------------------------------------------

返事遅くなってすみません
全部削除ではなく、いくつか選択された項目を削除したかったのですが、
ListItemを一旦配列に格納して、一つずつ削除していく方法で解決しました
目的のプログラムは完成しました
返事ありがとうございました
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板