【问题标题】:C#/WinForm: Force DataGrid not to add duplicate entry in a rowC#/WinForm:强制 DataGrid 不在一行中添加重复条目
【发布时间】:2011-05-06 11:52:48
【问题描述】:

有没有办法在 Windows 窗体中“验证”我的数据网格的内容,无论它是否是重复副本?

我的数据网格中有一个组合框,我想做的是每次添加新行时,用户从组合框中选择一个项目。下次用户添加具有与之前相同条目的新行(重复)时,它将不会添加到该行中。

我正在考虑在添加到新行时从组合框中删除或禁用项目(数据库中的数据源),这样用户将无法复制记录。

解决这个问题的最佳方法是什么?欢迎提出意见和建议。谢谢。

【问题讨论】:

    标签: c# winforms datagrid combobox row


    【解决方案1】:

    您正计划做正确的事。从组合中删除该项目并不是一个坏主意。或者,您可以在添加新行时进行验证,以检查该项目是否已经存在于网格中。

    【讨论】:

      【解决方案2】:

      由于组合框的数据源来自数据库,为什么不直接修改查询以不包含表行中的项目,例如

      SELECT item FROM itemList WHERE item not in (SELECT item FROM userAddedRow)
      

      【讨论】:

        【解决方案3】:

        您可以在数据集中执行检查操作,而不是转到数据库。 从数据集中执行检查操作,如果不存在则发送插入语句 到数据库。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多