2017-02-22 16 views
0

У меня есть следующий DatagridView, где пользователь может добавлять, удалять и обновлять строки.C# WinForms Datagridview Проверка дубликатов в столбце

enter image description here

Если пользователь добавляет новую строку с уже представленным значением «KSTNR» должен появиться MessageBox.

Вопрос в том, как пройти через колонку и проверить, что значение «KSTNR» уже отправлено.

Спасибо!

+0

Если у вас есть 'DataTable' в качестве источника данных, вы можете контролировать его в DataTable с помощью' UniqueConstraint'. Также, если у вас нет «DataTable», вы можете использовать linq для проверки значений столбца. –

+0

Спасибо за информацию @OhBeWise –

ответ

0

Я решил проблему с помощью LINQ:

//Get Values from Column "KSTNR" 
    var kstnr = (from i in cpxx_helpDataSet.help_U_KSTKOSTEN 
       orderby i.KSTNR 
       select i.KSTNR).ToList(); 

    //Fill list with duplicates 
    var query = kstnr.GroupBy(x => x).Where(g => g.Count() > 1).Select(y =>   y.Key).ToList(); 

    //If List not empty then show messagebox 
    if(query.Any()) 
    { 
      MessageBox.Show("Duplicates found"); 
    } 
Смежные вопросы