簡體   English   中英

從ListView中刪除所選項

[英]Remove the Selected Item From ListView

如何從列表視圖中刪除所選項?

foreach ( ListViewItem eachItem in listView1.SelectedItems)
{
    listView1.Items.Remove(eachItem);
}

其中listView1是listview的id。

當只有一個項目( Multiselect = false )時:

listview1.SelectedItems[0].Remove();

對於多個項目( Multiselect = true ):

foreach (ListViewItem eachItem in listView1.SelectedItems)
{
    listView1.Items.Remove(eachItem);
}
listBox.Items.RemoveAt(listBox.SelectedIndex);
listView1.Items.Cast<ListViewItem>().Where(T => T.Selected)
    .Select(T => T.Index).ToList().ForEach(T => listView1.Items.RemoveAt(T))

ListView控件(具有GridView )中刪除項目的另一種方法(在WPF ) -

var selected = myList.SelectedItems.Cast<Object>().ToArray();
foreach(var item in selected)
{
    myList.Items.Remove(item);
}

其中myListListView控件的名稱

好吧,盡管已經很晚了,但最近我遇到了這個問題,所以有人可能會再次遇到這個問題。 實際上,我需要刪除所有選定的項目,但上面的代碼都沒有為我工作。 它總是會拋出錯誤,因為集合在foreach期間會發生變化。 我的解決方案是這樣的:

while (listView1.SelectedIndex > 0)
{
    listView1.Items.RemoveAt(listView1.SelectedIndex);
}

當你獲得最后一個選定項目(當前)的位置時,它不會拋出錯誤,所以即使你刪除它,你也會得到它現在的位置。 當沒有選擇任何項目時,SelectedIndex返回-1並結束循環。 這樣,您可以確保不再有選定項目,也不會嘗試刪除否定索引中的項目。

foreach (DataGridViewRow dgr in dgvComments.SelectedRows)
            dgvComments.Rows.Remove(dgr);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM