[英]How to remove selected rows from a listView
我想在檢查特定字符串后從列表視圖中刪除行。 如果文本框中的字符串與列表視圖中的字符串匹配,則保留該行,否則刪除該行。 2 foreach循環和if語句的頂部工作正常,但是else部分卻給我帶來了問題。...我不確定如何編寫它。
提前致謝
到目前為止的代碼:
foreach (ListViewItem item in listView1.Items)
{
foreach (ListViewItem.ListViewSubItem subItem in item.SubItems)
{
if (subItem.Text.ToLower().StartsWith(textBox1.Text.ToLower()))
{
var index = item.Index;
MessageBox.Show(listView1.Items[index].ToString());
count++;
}
else
{
listView1.Items[item].Remove();
}
}
}
在其他部分中使用item.Index代替item
已更正:listView1.Items [item.Index]
您可以在新列表中添加匹配項,而不是像這樣從當前循環中刪除項:-
listView1.Items newItemList = new listView1.Items();
foreach (ListViewItem item in listView1.Items)
{
foreach (ListViewItem.ListViewSubItem subItem in item.SubItems)
{
if (subItem.Text.ToLower().StartsWith(textBox1.Text.ToLower()))
{
var index = item.Index;
MessageBox.Show(listView1.Items[index].ToString());
count++;
newItemList.Add(item);
}
else
{
//listView1.Items[item].Remove();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.