2017-02-22 54 views
0

我有一個以下DatagridView,用戶可以在其中添加,刪除和更新行。C#WinForms Datagridview檢查列中的重複項

enter image description here

如果用戶添加一個新行已經提交了「KSTNR」值,一個消息應該會出現。

我的問題是,如何遍歷一列,並檢查是否已提交新的「KSTNR」值。

謝謝!

+0

如果你有一個'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"); 
    }