我有大约 250 个 ID 大约 6-7 个字符长的项目。我将它们组织成 3 个班级,每个班级大约有 8 个子班级。使用报表时,用户将能够使用级联下拉列表来过滤项目列表。但是,当报表最初加载时,用户希望所有项目都可见。
报告参数通过 URL 传递到将为我检索数据的 Web 服务。
我已将项目报告参数设置为多选,但我已手动添加值“All”作为默认参数,并使用以下查询将“All”作为选项包含在资源列表中:
SELECT 'All' as ItemID
UNION
SELECT itemID as ItemID
FROM (SELECT DISTINCT itemID
FROM itemMaster
WHERE (itemSubClass IN (@itemSubClass)) and itemClass IN (@itemClass))
ORDER BY itemID) as derivedtbl_1
当我的程序逻辑检测到“全部”作为项目的参数时,它不会过滤任何项目并将完整列表发送到报告。
这个设置有一些问题
- “全部”选项出现在我的项目列表中。即(全选)首先是数字项,然后是“全部”,然后是字母项。
- (全选)项目仍然出现在列表中,因为它是一个多选参数广告,如果用户选择它,所有 250 个项目都被选中,并且我收到最大 URL 字符错误。
那么,有没有一种简单的方法可以允许从该项目列表中多选项目(在最大的原因 10 内,这将使我处于 URL 错误之下),禁用(全选)选项,并将我的自定义“全部”选项移动到在它的位置列表的顶部?