Member 11859517 Ответов: 2

Как предотвратить добавление дубликатов элементов listview gridview в WPF C#?


У меня есть ListView с GridView(столбец say IteName, DataType, Value)
теперь я хочу добавить элемент в listview но если элемент уже присутствует в Listview то я должен дать сообщение о том что элемент уже присутствует

Я пытался, но не получил никакого решения,

Пожалуйста, помоги мне выбраться отсюда.

Спасибо
Динь

Что я уже пробовал:

foreach (dynamic item in lstSusbscribedGroupTag.Items)
            {
                if (if(lstSubscribeItem.Items.Contains(Item.ToString())))
                    continue;
                else
                    selectedItemCollection.Add(item);
            }

CHill60

Нам нужно увидеть немного больше кода, который вы используете для заполнения GridView! Используйте Улучшить вопрос ссылка для предоставления недостающего кода

Member 11859517

благодаря холодок
Я добавил немного кода, как вы и предлагали.

2 Ответов

Рейтинг:
2

Richard MacCutchan

Выполните поиск в ListView, чтобы узнать, существует ли элемент уже, используя один из методов Find (xxx), перечисленных в разделе документация[^].


Рейтинг:
11

Graeme_Grant

Еще одним простым решением является использование System.Linq; :

foreach (var item in lstSusbscribedGroupTag.Items.Distinct())
{
    selectedItemCollection.Add(item);
}
Если элементы сложного типа, то вам нужно сделать немного больше работы. Вот два разных решения для вас:

1. Перечислимый.Метод Distinct (TSource) (IEnumerable(TSource)) (Системы.В LINQ)[^] (Пример №2)
2. c# - Linq Distinct () для определенного свойства-переполнение стека[^]