ReportingService2005.GetReportParameters 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回指定报表的报表参数属性。 GetReportParameters(String, String, Boolean, ParameterValue[], DataSourceCredentials[]) 方法还可用于根据指定报表的参数验证参数值。
public:
cli::array <ReportService2005::ReportParameter ^> ^ GetReportParameters(System::String ^ Report, System::String ^ HistoryID, bool ForRendering, cli::array <ReportService2005::ParameterValue ^> ^ Values, cli::array <ReportService2005::DataSourceCredentials ^> ^ Credentials);
public ReportService2005.ReportParameter[] GetReportParameters (string Report, string HistoryID, bool ForRendering, ReportService2005.ParameterValue[] Values, ReportService2005.DataSourceCredentials[] Credentials);
member this.GetReportParameters : string * string * bool * ReportService2005.ParameterValue[] * ReportService2005.DataSourceCredentials[] -> ReportService2005.ReportParameter[]
Public Function GetReportParameters (Report As String, HistoryID As String, ForRendering As Boolean, Values As ParameterValue(), Credentials As DataSourceCredentials()) As ReportParameter()
参数
- Report
- String
报表的完整路径名。
- HistoryID
- String
报表历史记录快照的 ID。 将 ForRendering
参数设置为 的值true
,以便检索报表历史记录快照的参数属性。 如果要检索某个报表的参数,而该报表不是报表历史记录快照,请将值设置为 null
(在 Visual Basic 中为 Nothing
)。
- ForRendering
- Boolean
一个指示将如何使用参数值的Boolean
表达式。 如果设置为值 true
,则返回的参数属性基于报表执行期间使用的参数数据。
- Values
- ParameterValue[]
参数值(ParameterValue 对象),可以依据报表服务器管理的报表的参数来验证这些参数值。
- Credentials
- DataSourceCredentials[]
可用于验证查询参数的数据源凭据(DataSourceCredentials 对象)。
返回
ReportParameter 对象的数组,它列出报表的参数。
示例
若要编译此代码示例,必须引用 Reporting Services WSDL 并导入某些命名空间。 有关详细信息,请参阅 编译和运行代码示例。 下面的代码示例使用 GetReportParameters 方法检索报表的参数元数据列表,然后显示每个参数的名称:
Imports System
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2005()
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()
{
ReportingService2005 rs = new ReportingService2005();
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());
}
}
}
注解
下表显示了有关此操作的标头和权限信息。
SOAP 标头 | (Out) ServerInfoHeaderValue |
所需的权限 | ReadProperties |
如果报表Snapshot
的执行设置为 ,则返回的参数元数据是创建报表历史记录快照时使用的数据。 如果报表 Live
的执行设置为 ,则返回的参数元数据表示与指定报表关联的参数数据。
如果为 HistoryID
参数提供值并将参数值设置为 ForRendering
true
,则返回的参数元数据表示创建报表历史记录快照时使用的参数数据。 如果 ForRendering
设置为 false
,则忽略为 HistoryID
提供的值。如果 ForRendering
为 false
,则返回的参数元数据表示当前与指定报表关联的参数数据。
如果任何参数值都基于查询,并且你希望返回基于查询的参数的有效值列表,请将 设置为 ForRendering
true
。 此外,对于基于查询的参数,必须传入返回查询参数所需的所有凭据信息。
使用 GetReportParameters 方法验证参数时, Values
需要 参数。
如果给定报表不存在报表参数,则返回空 ReportParameter 数组。