要创建在数据源级别应用过滤的级联报告参数,请按照以下步骤操作:
在数据源级别应用过滤的级联参数
1.使用数据源向导通过查询将报表绑定到SqlDataSource :
SELECT Production.Product.ProductNumber, Production.Product.Name AS ProductName, Production.ProductSubcategory.Name AS SubcategoryName FROM Production.Product INNER JOIN Production.ProductSubcategory ON Production.Product.ProductSubcategoryID = Production.ProductSubcategory.ProductSubcategoryID WHERE (Production.Product.ProductSubcategoryID = @ProductSubcategoryID)
请注意,有一个WHERE子句根据 ProductSubcategoryID 参数过滤数据源。
2.单击下一步 按钮,出现SqlDataSource的“配置数据源参数” 步骤 。将 ProductSubcategoryID 参数的DbType设置为Int32 ,并为 Value 选择“New Report Parameter”。
3.这将调用Report Parameter Editor。
4.将新参数命名为ProductSubcategoryID。
5.将文本设置 为产品子类别。
6.将参数的类型设置 为整数。
7.将Visible 属性设置为 True。
8.展开AvailableValues。
9.启动数据源向导并将参数的数据源设置为以下查询:
SELECT ProductSubcategoryID,
Name AS SubcategoryName
FROM Production.ProductSubcategory
WHERE (ProductCategoryID = @ProductCategoryID)
请注意,有一个WHERE子句根据 ProductSubcategoryID 参数过滤数据源。
10.单击下一步 按钮,出现SqlDataSource的“配置数据源参数” 步骤 。将ProductCategoryID 参数的DbType设置 为Int32并 为Value 选择“ New Report Parameter ” 。
11.这将调用Report Parameter Editor。
12.将新参数命名为ProductCategoryID。
13.将文本设置为Product Category。
14.将参数的 Type 设置为Integer。
15.将Visible 属性设置为 True。
16.展开可用值。
17.启动数据源向导 并将参数的数据源设置为以下查询:
SELECT
ProductCategoryID,
Name AS CategoryName
FROM
Production.ProductCategory
18.单击下一步 并完成 数据源向导。
19.将 DisplayMember 设置为= Fields.CategoryName 列。
20.将 ValueMember 设置为= Fields.ProductCategoryID。
21.当数据源只包含一个表时,不需要设置 DataMember 属性。
22.单击确定 关闭报告参数编辑器。
23.单击下一步 并完成 ProductCategoryID 参数的数据源向导。
24.为ProductSubcategoryID参数选择报告参数编辑器 。
25.将DisplayMember设置 为= Fields.SubcategoryName 列
26.将ValueMember设置 为= Fields.ProductSubcategoryID。
27.当数据源只包含一个表时,不需要设置 DataMember 属性。
28.单击确定 关闭报告参数编辑器。
29.单击下一步 并完成ProductSubcategoryID 参数 的数据源向导 。
完成后Report3也有两个参数
效果
机翻自:https://docs.telerik.com/reporting/designing-reports/connecting-to-data/report-parameters/how-to-cascade-parameters-with-applied-filtering-on-data-source-level