ReportingService2005.FindItems 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从报表服务器数据库中返回与搜索条件匹配的项。
public:
cli::array <ReportService2005::CatalogItem ^> ^ FindItems(System::String ^ Folder, ReportService2005::BooleanOperatorEnum BooleanOperator, cli::array <ReportService2005::SearchCondition ^> ^ Conditions);
public ReportService2005.CatalogItem[] FindItems (string Folder, ReportService2005.BooleanOperatorEnum BooleanOperator, ReportService2005.SearchCondition[] Conditions);
member this.FindItems : string * ReportService2005.BooleanOperatorEnum * ReportService2005.SearchCondition[] -> ReportService2005.CatalogItem[]
Public Function FindItems (Folder As String, BooleanOperator As BooleanOperatorEnum, Conditions As SearchCondition()) As CatalogItem()
参数
- Folder
- String
要搜索的文件夹的完全限定 URL。 要搜索整个报表服务器数据库,请指定根文件夹 (/)。
- BooleanOperator
- BooleanOperatorEnum
逻辑运算符,应用该逻辑运算符可连接搜索条件。 可能值为 AND
和 OR
。 默认值是 AND
。
- Conditions
- SearchCondition[]
一个 SearchCondition 对象的数组,该数组定义要搜索的属性名和属性值。
返回
报表服务器数据库中与指定搜索条件对应的对象的 CatalogItem 数组。
示例
若要编译此代码示例,必须引用 Reporting Services WSDL 并导入某些命名空间。 有关详细信息,请参阅 编译和运行代码示例。 下面的代码示例在报表服务器数据库中搜索名称包含单词“Sales”的所有报表:
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 items As CatalogItem() = Nothing
Dim condition As New SearchCondition()
condition.Condition = ConditionEnum.Contains
condition.ConditionSpecified = True
condition.Name = "Name"
condition.Value = "Sales"
Dim conditions(0) As SearchCondition
conditions(0) = condition
Try
items = rs.FindItems("/", BooleanOperatorEnum.Or, conditions)
If Not (items Is Nothing) Then
Dim ci As CatalogItem
For Each ci In items
Console.WriteLine("Item {0} found at {1}", ci.Name, ci.Path)
Next ci
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;
CatalogItem[] items = null;
SearchCondition condition = new SearchCondition();
condition.Condition = ConditionEnum.Contains;
condition.ConditionSpecified = true;
condition.Name = "Name";
condition.Value = "Sales";
SearchCondition[] conditions = new SearchCondition[1];
conditions[0] = condition;
try
{
items = rs.FindItems( "/", BooleanOperatorEnum.Or, conditions );
if ( items != null )
{
foreach ( CatalogItem ci in items)
{
Console.WriteLine( "Item {0} found at {1}", ci.Name, ci.Path );
}
}
}
catch ( SoapException e )
{
Console.WriteLine( e.Detail.InnerXml.ToString() );
}
}
}
注解
下表显示了有关此操作的标头和权限信息。
SOAP 标头 | (Out) ServerInfoHeaderValue |
所需的权限 | 如果不是组件搜索: ReadProperties 仅返回具有相应 ReadProperties 权限的项。 |
参数的 Folder
长度不能超过 260 个字符;否则,将引发 SOAP 异常,错误代码 为 rsItemLengthExceededed。
参数 Folder
不能为 null 或空,也不能包含以下保留字符: : ? ; @ & = + $ , \ * > < | . "
。 可以使用 /) (正斜杠字符分隔文件夹的完整路径名称中的项目,但不能在文件夹名称的末尾使用它。
报表服务器不支持在搜索条件中间使用通配符。 通配符包括 %、_、[、]、^和 -。 如果存在通配符,则报表服务器按字面处理该字符。
在搜索条件集中只能提供属性名称的一个实例。
的 FindItems 搜索功能不区分大小写。
使用 FindItems 的应用程序通常接受用户输入特定属性和属性值。 可搜索的属性包括 Name、、Description、CreatedByCreationDate、 ModifiedBy和 ModifiedDate。 返回的项仅是用户对其具有 Read Properties
权限的项。