ReportingService2006.GetReportParameters 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回指定报表的报表参数属性。 GetReportParameters(String, String, ParameterValue[], DataSourceCredentials[]) 方法还可用于根据指定报表的参数验证参数值。
public:
cli::array <ReportService2006::ReportParameter ^> ^ GetReportParameters(System::String ^ Report, System::String ^ HistoryID, cli::array <ReportService2006::ParameterValue ^> ^ Values, cli::array <ReportService2006::DataSourceCredentials ^> ^ Credentials);
public ReportService2006.ReportParameter[] GetReportParameters (string Report, string HistoryID, ReportService2006.ParameterValue[] Values, ReportService2006.DataSourceCredentials[] Credentials);
member this.GetReportParameters : string * string * ReportService2006.ParameterValue[] * ReportService2006.DataSourceCredentials[] -> ReportService2006.ReportParameter[]
Public Function GetReportParameters (Report As String, HistoryID As String, Values As ParameterValue(), Credentials As DataSourceCredentials()) As ReportParameter()
参数
- Report
- String
报表的完全限定 URL,其中包括文件名和 .rdl 文件扩展名。
- HistoryID
- String
报表历史记录快照的 ID。 将 ForRendering
参数设置为 的值true
,以便检索报表历史记录快照的参数属性。 如果要检索某个报表的参数,而该报表不是报表历史记录快照,请将值设置为 null
(在 Visual Basic 中为 Nothing
)。
- Values
- ParameterValue[]
可以根据报表的参数进行验证的参数值(ParameterValue 对象)。
- Credentials
- DataSourceCredentials[]
可用于验证查询参数的数据源凭据(DataSourceCredentials 对象)。
返回
ReportParameter 对象的数组,它列出报表的参数。
示例
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
class Sample
{
static void Main(string[] args)
{
ReportingService2006 rs = new ReportingService2006();
rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" +
"ReportService2006.asmx";
rs.Credentials =
System.Net.CredentialCache.DefaultCredentials;
string report = "http://<Server Name>/Docs/Documents" +
"/AdventureWorks Sample Reports/" +
"Employee Sales Summary.rdl";
string historyID = null;
ParameterValue[] values = null;
DataSourceCredentials[] credentials = null;
ReportParameter[] parameters = null;
try
{
parameters = rs.GetReportParameters(report, historyID,
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());
}
}
}
Imports System
Imports System.IO
Imports System.Text
Imports System.Web.Services
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2006()
rs.Url = "http://<Server Name>/_vti_bin/" + _
"ReportServer/ReportService2006.asmx"
rs.Credentials = _
System.Net.CredentialCache.DefaultCredentials
Dim report As String = "http://<Server Name>" + _
"/Docs/Documents/AdventureWorks Sample Reports" + _
"/Employee Sales Summary.rdl"
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, _
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
End Class
注解
下表显示了有关此操作的标头和权限信息。
SOAP 标头 | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
所需的权限 | <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> |
如果报表Snapshot
的执行设置为 ,则返回的参数元数据是创建报表历史记录快照时使用的数据。 如果报表 Live
的执行设置为 ,则返回的参数元数据表示与指定报表关联的参数数据。
如果为 HistoryID
参数提供值并将参数值设置为 ForRendering
true
,则返回的参数元数据表示创建报表历史记录快照时使用的参数数据。 如果 ForRendering
设置为 false
,则忽略为 HistoryID
提供的值。 如果 ForRendering
为 false
,则返回的参数元数据表示当前与指定报表关联的参数数据。
如果任何参数值都基于查询,并且你希望返回基于查询的参数的有效值列表,请将 设置为 ForRendering
true
。 此外,对于基于查询的参数,必须传入返回查询参数所需的所有凭据信息。
使用 GetReportParameters 方法验证参数时, Values
需要 参数。
如果给定报表不存在报表参数,则返回空 ReportParameter 数组。