【问题标题】:C# WinForms Datagridview Check duplicates in a columnC# WinForms Datagridview 检查列中的重复项
【发布时间】:2017-02-22 12:28:18
【问题描述】:

我有一个以下 DatagridView,用户可以在其中添加、删除和更新行。

如果用户使用已提交的“KSTNR”值添加新行,则会出现一个消息框。

我的问题是,如何遍历列并检查是否已经提交了“KSTNR”值。

谢谢!

【问题讨论】:

  • 如果你有一个DataTable 作为数据源,你可以使用UniqueConstraint 在你的数据表中控制它。此外,如果您没有DataTable,您可以使用 linq 来检查列的值。
  • 感谢@OhBeWise 提供的信息

标签: c# winforms datagridview dataset


【解决方案1】:

我使用 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");
     }

【讨论】:

    猜你喜欢
    • 2013-04-18
    • 2017-09-16
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 2012-05-04
    相关资源
    最近更新 更多