如何在多值参数上放置过滤器以不显示下拉列表中的所有值

Posted

技术标签:

【中文标题】如何在多值参数上放置过滤器以不显示下拉列表中的所有值【英文标题】:How to put a filter on a multivalue parameter to not display all the value in the dropdown 【发布时间】:2018-02-02 10:03:04 【问题描述】:

您好,我有一份报告,其中有两个参数,一个是客户编号,另一个是DIVISION_NO;这两个参数都是多值,并从两个不同的数据集中获取它们的值。参数部门编号取决于客户编号(每个客户编号关联一个或多个部门编号),因此一旦填充了客户编号参数,我就可以填充部门编号。现在对于一个特定的 Customer_no,我只想显示一个特定的部门编号,因此与该特定 Customer_no 关联的所有其他部门编号我不想在下拉列表中显示它们。

谁能帮帮我?

【问题讨论】:

【参考方案1】:

您需要创建 Customer_No 作为变量(例如 @CustomerNo)并将其传递到 Division_No 参数的数据集中

确保 Division 参数列在列表中 Customer_no 参数的下方

使 Division_No 数据集类似于:

IF @CustomerNo = <restricted_Cust>
BEGIN
    select Division_no
    from   table
    where  CustomerNo = @CustomerNo
    AND    Division_no IN (restricted list)
END
ELSE
BEGIN
    select Division_no
    from   table
    where  CustomerNo = @CustomerNo
END

【讨论】:

我的 Division_no 数据集已经是这样了,感染这就是为什么我上面提到 devision_no 取决于 customer_no。但我真正的问题是我现在有一个特定的 Customer_no,我不想显示所有相关的 Division_no;基本上我想为特定的 Customer_no 过滤 Division_no 的数据集。 @deep,查看更新后的答案,根据 CustomerNo 变量在数据集中使用 IF 条件

以上是关于如何在多值参数上放置过滤器以不显示下拉列表中的所有值的主要内容,如果未能解决你的问题,请参考以下文章

更新 s-s-rS 参数中的下拉列表值

在多值参数中选择两个选项但传递一个值

如何制作由文件中的行分隔的每个字符串的下拉列表

JSON数据源提供多值参数的实现

如何在 QTableView 的列中显示下拉列表并根据下拉列表进行过滤

如何根据 JSON 数据和过滤参数过滤列表视图?