ReportingService2010.GetItemParameters 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回指定项的参数属性。此方法还可用于验证指定项的参数值。
public:
cli::array <ReportService2010::ItemParameter ^> ^ GetItemParameters(System::String ^ ItemPath, System::String ^ HistoryID, bool ForRendering, cli::array <ReportService2010::ParameterValue ^> ^ Values, cli::array <ReportService2010::DataSourceCredentials ^> ^ Credentials);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetItemParameters", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
public ReportService2010.ItemParameter[] GetItemParameters (string ItemPath, string HistoryID, bool ForRendering, ReportService2010.ParameterValue[] Values, ReportService2010.DataSourceCredentials[] Credentials);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetItemParameters", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
member this.GetItemParameters : string * string * bool * ReportService2010.ParameterValue[] * ReportService2010.DataSourceCredentials[] -> ReportService2010.ItemParameter[]
Public Function GetItemParameters (ItemPath As String, HistoryID As String, ForRendering As Boolean, Values As ParameterValue(), Credentials As DataSourceCredentials()) As ItemParameter()
参数
- ItemPath
- String
项的完全限定 URL,其中包括文件名(在 SharePoint 模式下,还有扩展名)。
- HistoryID
- String
项历史记录快照的 ID。 将 ForRendering
参数设置为 的值true
,以便检索项历史记录的参数属性快照。 如果要检索某个项的参数,而该项不是项历史记录快照,请将值设置为 null
(在 Visual Basic 中为 Nothing
)。
- ForRendering
- Boolean
一个指示将如何使用参数值的Boolean
表达式。 如果设置为值 true
,则返回的参数属性基于项执行期间使用的参数数据。
- Values
- ParameterValue[]
参数值(ParameterValue 对象),可以根据报表服务器管理的项的参数来验证这些参数值。
- Credentials
- DataSourceCredentials[]
可用于验证查询参数的数据源凭据(DataSourceCredentials 对象)。
返回
一个 ItemParameter 对象的数组,该数组列出项的参数。
- 属性
示例
若要编译此代码示例,必须引用Reporting Services WSDL 并导入某些命名空间。 有关详细信息,请参阅 编译和运行代码示例。 下面的代码示例使用 GetItemParameters 方法检索报表的参数元数据列表,然后显示每个参数的名称:
Imports System
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2010()
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 ItemParameter() = Nothing
Try
parameters = rs.GetItemParameters(report, historyID, forRendering, values, credentials)
If Not (parameters Is Nothing) Then
Dim rp As ItemParameter
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()
{
ReportingService2010 rs = new ReportingService2010();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
string report = "/SampleReports/Employee Sales Summary";
bool forRendering = false;
string historyID = null;
ParameterValue[] values = null;
DataSourceCredentials[] credentials = null;
ItemParameter[] parameters = null;
try
{
parameters = rs.GetItemParameters(report, historyID, forRendering, values, credentials);
if (parameters != null)
{
foreach (ItemParameter rp in parameters)
{
Console.WriteLine("Name: {0}", rp.Name);
}
}
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
}
}
注解
下表显示了有关此操作的标头和权限信息。
SOAP 标头用法 | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
本机模式所需权限 | ReadProperties |
SharePoint 模式所需权限 | <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> |
如果项Snapshot
的执行设置为 ,则返回的参数元数据是创建项历史记录快照时使用的数据。 如果项 Live
的执行设置为 ,则返回的参数元数据表示与指定项关联的参数数据。
如果为HistoryID
参数提供值并将参数值true
设置为 ForRendering
,则返回的参数元数据表示创建项历史记录快照时使用的参数数据。 如果 ForRendering
设置为 false
,则忽略为 HistoryID
提供的值。如果 ForRendering
为 false
,则返回的参数元数据表示当前与指定项关联的参数数据。
如果任何参数值基于查询,并且你有兴趣返回基于查询的参数的有效值列表,请将 设置为 ForRendering
true
。 此外,对于基于查询的参数,必须传入返回查询参数所需的所有凭据信息。
使用 GetItemParameters 方法验证参数时, Values
参数是必需的。
如果给定项的参数不存在,则返回空 ItemParameter 数组。