GetReportParameters Method
ReportingService.GetReportParameters Method
Returns report parameter properties for a specified report. The GetReportParameters method can also be used to validate parameter values against parameters for a specified report.
Public Function GetReportParameters( _ ByVal Report As String _ ByVal ForRendering As Boolean _ ByVal HistoryID As String _ ByVal ParameterValues() As [Namespace].ParameterValue _ ByVal Credentials() As [Namespace].DataSourceCredential _ ) As [Namespace].ReportParameter() Member of [Namespace].ReportingService
public [Namespace].ReportParameter[] GetReportParameters( string Report, bool ForRendering, string HistoryID, [Namespace].ParameterValue[] ParameterValues, [Namespace].DataSourceCredential Credentials, ); Member of [Namespace].ReportingService
Parameters
- Report
- The full path name of the report.
- ForRendering
- A Boolean expression that indicates how the parameter values are to be used. If set to a value of true, parameter properties that are returned are based on the parameter data that was used during the execution of the report.
- HistoryID
- The ID of the report history snapshot. Set the ForRendering parameter to a value of true in order to retrieve parameter properties for a report history snapshot. Set the value to null (Nothing in Visual Basic) if you are retrieving parameters for a report that is not a report history snapshot.
- ParameterValues
- The parameter values (ParameterValue[] objects) that can be validated against the parameters of the report that are managed by the report server.
- Credentials
- The data source credentials (DataSourceCredential[] objects) that can be used to validate query parameters.
Return Value
An array of ReportParameter[] objects that lists the parameters for the report.
Permissions
| Operation | Description |
|---|---|
| Read Properties | Required on the report to view the parameters. |
Remarks
If the execution setting for the report is Snapshot, the parameter meta data that is returned is the data that was used when the report history snapshot was created. If the execution setting for the report is Live, the parameter meta data returned represents the parameter data that is associated with the specified report.
If you provide a value for the HistoryID parameter and set the ForRendering parameter to a value of true, the parameter meta data returned represents the parameter data that was used when the report history snapshot was created. The value supplied for HistoryID is ignored if ForRendering is set to false.
If ForRendering has a value of false, the parameter meta data returned represents the parameter data that is currently associated with the specified report. If any parameters values are based on a query and you are interested in returning the query-based parameters valid values list, you need to set ForRendering to true, In addition, for query based parameters, you need to ensure that you have passed in all of the credential information required to return the query parameters.
When using the GetReportParameters method to validate parameters, the ParameterValues parameter is required.
If report parameters do not exist for the given report, an empty ReportParameter[] array is returned.
Example
To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example uses the GetReportParameters method to retrieve a list of parameter meta data for a report and then displays the name of each parameter:
Imports System
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
Dim report As String = "/SampleReports/Employee Sales Summary"
Dim forRendering As Boolean = False
Dim historyID As String = Nothing
Dim values As ParameterValue() = Nothing
Dim credentials As DataSourceCredentials() = Nothing
Dim parameters As ReportParameter() = Nothing
Try
parameters = rs.GetReportParameters(report, historyID, forRendering, values, credentials)
If Not (parameters Is Nothing) Then
Dim rp As ReportParameter
For Each rp In parameters
Console.WriteLine("Name: {0}", rp.Name)
Next rp
End If
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
End Sub 'Main
End Class 'Sample
using System;
using System.Web.Services.Protocols;
class Sample
{
public static void Main()
{
ReportingService rs = new ReportingService();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
string report = "/SampleReports/Employee Sales Summary";
bool forRendering = false;
string historyID = null;
ParameterValue[] values = null;
DataSourceCredentials[] credentials = null;
ReportParameter[] parameters = null;
try
{
parameters = rs.GetReportParameters(report, historyID, forRendering, values, credentials);
if (parameters != null)
{
foreach (ReportParameter rp in parameters)
{
Console.WriteLine("Name: {0}", rp.Name);
}
}
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
}
}