Je dois ajouter une liste déroulante à mon rapport .rdl en utilisant Visual Studio 2008.Comment ajouter un menu déroulant à rapport de RDL dans Visual Studio 2008
Comment est-ce acheived?
Je dois ajouter une liste déroulante à mon rapport .rdl en utilisant Visual Studio 2008.Comment ajouter un menu déroulant à rapport de RDL dans Visual Studio 2008
Comment est-ce acheived?
Il est acheived comme si ...
Ajouter un jeu de données:
Ajouter un paramètre:
Set:
maintenant:
Maintenant, modifier la principale requête de dataset (clic droit et modifier) pour inclure des paramètres c'est à dire @???? où ???? est le nom de votre ensemble de données.
par exemple. Pour un ensemble de données appelé « Nom », vous pouvez changer votre requête
SELECT * FROM tbl WHERE Name = @Name
... et cela peut être répété autant de fois que vous le souhaitez: Aperçu, enregistrez, fermez et déployer.
EDIT.
Si vous activez «permettre de sélectionner plusieurs valeurs», le paramètre sera une liste de valeurs délimitée par des virgules.
Pour cela, vous aurez besoin d'une requête comme:
SELECT RTRIM(LTRIM(Item)) AS Name INTO #Names FROM dbo.f_split(@Name, ',')
SELECT * FROM tbl WHERE Name IN (SELECT Name FROM #Names)
REMARQUE:
Créer la fonction f_split ce qui suit:
FONCTION CREER [dbo].[F_split] ( @ItemList NVARCHAR (4000), @delimiter CHAR (1) ) RETOURS TABLE @IDTable (Point 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
END