27160 total geeks with 3531 solutions
Recent challengers:
 Welcome, you are an anonymous user! [register] [login] Get a yourname@osix.net email address 

Articles

GEEK

User's box
Username:
Password:

Forgot password?
New account

Shoutbox
MaxMouse
It's Friday... That's good enough for me!
CodeX
non stop lolz here but thats soon to end thanks to uni, surely the rest of the world is going good?
stabat
how things are going guys? Here... boring...
CodeX
I must be going wrong on the password lengths then, as long as it was done on ECB
MaxMouse
lol... the key is in hex (MD5: of the string "doit" without the "'s) and is in lower case. Maybe i should have submitted this as a challenge!

Donate
Donate and help us fund new challenges
Donate!
Due Date: Nov 30
November Goal: $40.00
Gross: $0.00
Net Balance: $0.00
Left to go: $40.00
Contributors


News Feeds
The Register
Get a job in
Germany ? where
most activities are
precursors to
drinking
BIG FAT Lies: Porky
Pies about obesity
Culture CLASH:
Wuzhen Declaration
spurned at World
Internet Conference
in China
Pitchfork-wielding
villagers hunt
hairy shapeshifters
in One Night
Ultimate
Werewo
Post-pub nosh
neckfiller:
Bryndzové halu?ky
What We Do In
The Shadows
?
Laugh ourselves
silly, mostly
UK"s non-emergency
police and NHS
Vodafone systems go
titsup NATIONWIDE
Yahoo!
blames!
MONSTER!
email!
OUTAGE!
on!<
Criticism of Uber"s
journo-Data
Analytics plan is
an Attack on
DIGITAL FREEDOM
Ford"s B-Max:
Fiesta-based
runaround that goes
THUNK
Slashdot
Great Firewall of
China Blocks
Edgecast CDN,
Thousands of
Websites Affected
Judge Unseals 500+
Stingray Records
Samsung Seeking To
Block Nvidia Chips
From US Market
Doubling Saturated
Fat In Diet Does
Not Increase It In
Blood
Ask Slashdot: Best
Practices For
Starting and
Running a Software
Shop?
Eizo Debuts Monitor
With 1:1 Aspect
Ratio
Upgrading the
Turing Test:
Lovelace 2.0
Profanity-Laced
Academic Paper
Exposes Scam
Journal
Ukraine"s IT
Brigade Supports
the Troops
Extreme Shrimp May
Hold Clues To Alien
Life On Europa
Article viewer

List parameters from an SSRS (SQL Server Reporting Services) report into an expression.



Written by:bb
Published by:bb
Published on:2006-10-24 07:55:46
Topic:Dot.Net
Search OSI about Dot.Net.More articles by bb.
 viewed 23947 times send this article printer friendly

Digg this!
    Rate this article :
How to get a list of parameters and their values from an SSRS (SQL Server Reporting Services) report from within an expression of the report. Its a nice way to echo out all parameters a report was run with without having to hardcode and means you can implement standard footers easily.

I found some tips for doing this on James Kovacs' Weblog. But the code wasnt there, so here it is if you wish to implement it. Another useful msdn article is here.

I am using the imported DLL mechanism of writing code for reports (rather than the inline Code section) Simply add this method to an assembly and reference it in your report. Remember to copy the dll to "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\" to test it when previewing from Visual Studio.

To call this function put a TextBox on your report, edit the expression and add the line
=YourDll.DisplayParams(Parameters, "Param1, Param2");


The function for the assembly
using Microsoft.ReportingServices.ReportProcessing.ReportObjectModel;

///
/// Builds a list of SQL Server Reporting Services Parameters based on a parameter object
/// and a comma delimited string of param names
///
public static string DisplayParams(Parameters obj, string strParams)
{
    StringBuilder sbRet = new StringBuilder();
    try
    {
        //parameters in comma delimited list which matches
        //the name of the parameter in the collection.
        foreach (string sParam in strParams.Split(','))
        {
            //the name of the parameter
            sbRet.Append(String.Format("{0}: ", sParam));

            //concat parmaeter values
            if (obj[sParam].IsMultiValue)
                for (int i = 0; i < obj[sParam].Count - 1; i++)
                    sbRet.Append(String.Format("{0} : ",
                            ((string[])obj[sParam].Label)[i]).Trim());
            else
                sbRet.Append(String.Format("{0}", obj[sParam].Label).Trim());

            //remove any trailing commas
            if (sbRet.ToString().EndsWith(", "))
                sbRet.Remove(sbRet.Length - 2, 2);

                        // seperator for each parameter
                        sbRet.Append("; ");
        }
    }
    catch (Exception)
    {
        return "Error building parameter list";
    }

    return sbRet.ToString();
}

Did you like this article? There are hundreds more.

Comments:
<none>
Anonymously add a comment: (or register here)
(registration is really fast and we send you no spam)
BB Code is enabled.
Captcha Number:


Blogs: (People who have posted blogs on this subject..)
bb
ASP.NET RadioButton GroupName when inside a Repeater on Sun 10th Jun 8am
I was thankful on finding this nugget of code, which makes the groupname work out when slamming in radiobuttons in an asp.net repeater. http://www.codeguru.com/csharp/csharp/cs _controls/custom/article.php/c12371/


     
Your Ad Here
 
Copyright Open Source Institute, 2006