我需要使用Visual Studio 2008在我的.rdl报告中添加一个下拉框。
这是如何实现的?
答案 0 :(得分:0)
它是这样实现的......
添加新数据集:
添加新参数:
集:
现在:
现在,更改主数据集查询(右键单击并编辑)以包含参数,即@ ????哪里????是数据集的名称。
e.g。对于名为' Name'的数据集,您可以将查询更改为
SELECT * FROM tbl WHERE Name = @Name
...这可以根据需要重复多次:预览,保存,关闭和部署。
EDIT。
如果您启用了“允许选择多个值”'那么参数将是以逗号分隔的值列表。
为此,您需要查询:
SELECT RTRIM(LTRIM(Item)) AS Name INTO #Names FROM dbo.f_split(@Name, ',')
SELECT * FROM tbl WHERE Name IN ( SELECT Name FROM #Names )
注:
使用以下内容创建f_split函数:
创建功能[dbo]。[f_split]
(
@ItemList NVARCHAR(4000),
@delimiter CHAR(1)
)
RETURNS @IDTable TABLE(Item VARCHAR(100))
AS
BEGIN
DECLARE @tempItemList NVARCHAR(4000)
SET @tempItemList = @ItemList
DECLARE @i INT
DECLARE @Item NVARCHAR(4000)
SET @i = CHARINDEX(@delimiter, @tempItemList)
WHILE (LEN(@tempItemList) > 0)
BEGIN
IF @i = 0
SET @Item = @tempItemList
ELSE
SET @Item = LEFT(@tempItemList, @i - 1)
INSERT INTO @IDTable(Item) VALUES(RTRIM(@Item))
IF @i = 0
SET @tempItemList = ''
ELSE
SET @tempItemList = RIGHT(@tempItemList, LEN(@tempItemList) - @i)
SET @i = CHARINDEX(@delimiter, @tempItemList)
END
RETURN
结束