-1

行のタグIDを使用してリストビューから行を削除するにはどうすればよいですか?

4

3 に答える 3

1

削除するListViewItem.Removeメソッドを呼び出すことができます。ListViewItem

このメソッドは、アイテムを含むListViewコントロールのListView.ListViewItemCollectionのRemoveメソッドと機能が似ています。Removeメソッドを使用して、ListViewコントロールからアイテムを削除できます。この機能は、アイテムを別のListViewコントロールに移動する場合、またはアプリケーション内からアイテムを削除するというユーザーからの要求に基づいてアイテムを削除する必要がある場合に役立ちます。

たとえば、のすべてを循環しListViewItemsListViewを見て、Tag削除Removeするアイテムを確認できます。

// Create the ListView and ListViewItem.
ListView myList = new ListView();
ListViewItem myItem = new ListViewItem { Tag = "MyTag", Text = "My ListViewItem" };
myList.Items.Add(item);

// Look for the ListViewItem with a Tag of "MyTag" and remove it.
foreach (ListViewItem item in myList.Items) {
    if (String.CompareOrdinal(item.Tag as string, "MyTag") == 0) {
        i.Remove();
        break;
    }
}

この例は、最初に一致するアイテムを削除した後に終了します。削除する必要のある一致するものが複数ある場合はListViewItems、それらのコレクションを作成し、その後それらを削除する必要があります。

于 2012-12-04T20:28:29.877 に答える
1

これが私がした簡単な機能です。linqを利用します。 myTag任意のオブジェクトにすることができます。

        string myTag = "aaa";

        List<ListViewItem> lst = listView1.Items.Cast<ListViewItem>().Where(i => i.Tag == myTag).ToList();
        if (lst.Count != 0)
        {
            listView1.Items.Remove(lst.First());
        }
于 2012-12-04T20:41:57.537 に答える
0

将来的には、質問に費やした努力の量をコミュニティに示す必要があります。何を試したか、いくつかの例を教えてください。ただし、以下はあなたの質問に答えるのに役立つはずのいくつかのコードです。

int id = 0;

foreach (ListViewItem item in listView1.Items)
{
   if((int)item.Tag == id)
   {
      item.Remove();
      break;
   }
}

注:これは、タグが整数であることを前提としています。これが常に当てはまるとは限らない場合は、エラーから保護するためのコードを追加する必要があります。

于 2012-12-04T20:35:25.533 に答える