【问题标题】:Populating a Datagridview ComboBox from the results of the other comboboxes根据其他组合框的结果填充 Datagridview ComboBox
【发布时间】:2012-04-02 03:07:36
【问题描述】:

我目前有一个由 3 个下拉框组成的 datagridview

1) 单位至 2) 单位自 3) 产品名称

Unit To 和 Unit From 是从数据库中填充的。

但是,我希望“产品”组合框填充所选单位中可用的产品和单位。

这里的 SQL 语句不是问题 - 我只是不确定这会发生在哪个事件中。

SQL 类似于

    SELECT ApprovedProductForUnit.[Product Name]
    FROM ApprovedProductForUnit
    WHERE (((ApprovedProductForUnit.[Unit No])='301' Or (ApprovedProductForUnit.[Unit No])='308'))
    GROUP BY ApprovedProductForUnit.[Product Name]
    HAVING Count(ApprovedProductForUnit.[Unit No])> 1

我想知道在哪里插入 SQL 语句以填充产品名称 gridviewcombobox 这还需要包括用户更改单位或单位的可能性。当然,每一行的值都会发生变化,这取决于在两个单位中销售的产品。

【问题讨论】:

  • 基本上你是想从一个单位转换成另一个单位吗?
  • 我正在做的是当用户从中选择一个单位和一个单位时,它运行上面的 SQL 命令并用结果填充产品名称组合框。
  • 您必须在单元中编写代码以进行 onchange,即使这会将单元和单元从 id 传递到 sql 查询。希望这会有所帮助。
  • 我知道我需要这样做,但我只是不确定代码需要去哪里,组合框没有事件,所以我该怎么做。
  • 我很确定这些组合框有事件。但是您可以通过编程方式访问它们。可能是一个简单的谷歌搜索就足以找出如何使用数据网格组合框中的事件。

标签: c# sql datagridview


【解决方案1】:

您需要在 Unit To 组合框 OnChange 事件中填充 Product Name gridviewcombobox,与 Unit From 组合框类似。在这两种情况下,您都必须检查“另一个”组合框是否有值,这表明两个 OnChange 事件都应该调用一个公共过程来检查值,然后填充产品名称组合框。

我认为 SQL 中的 'have' 子句是不必要的,可能会导致错误的结果。

【讨论】:

  • 您好,感谢您的回答,我遇到的问题是没有一个组合框似乎允许事件。 sql 语句已在 access 中进行了测试,似乎可以满足我的需要。
  • 我在 Delphi 中编程,所以我习惯于看到带有事件的组合框。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-11
  • 2014-12-03
  • 1970-01-01
  • 1970-01-01
  • 2021-09-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多