转:筛选器 Web 部件概述

http://msdn.microsoft.com/zh-cn/library/ms494838

 

筛选器 Web 部件概述

Office 2007

对于数据量较大的商业智能网站,筛选器 Web 部件非常有用。通常情况下 Web 部件会提供用户界面(可隐藏),使用户可以提供查询数据(如数据库表或列表)的搜索或筛选条件。将筛选器 Web 部件连接到具有筛选功能的页面上的一个或多个 Web 部件时,将显示查询的筛选结果。

筛选器 Web 部件的优点

对于用户和开发人员,筛选器 Web 部件具有许多优势。通过使用筛选器,用户可以找到全新且有效的方式来查看其数据。假定您构建了一个应用程序,其中 Web 部件将联系 Web 服务,返回美国各州日平均气温的历史记录,并以表格形式列出这些数据。如果要灵活地查看某几个州或某一个州的数据,用户可以将 Web 部件连接到一个筛选器 Web 部件,使用户可以在运行时选择不同的州并查看不同的结果。

借助筛选器,开发人员可以重用代码并将多个独立 Web 部件的功能组合起来。假定开发人员创建了保存用户地址信息(包括邮政编码)的 Web 部件,并且将其设计为在用户定购商品时始终使用这些信息填写送货地址单。然后,开发人员添加其他依赖于特定邮政编码的 Web 部件,如显示用户所在区域的天气信息和重要新闻的 Web 部件,以及按类别查找给定邮政编码所涉及区域内的公司的 Web 部件。开发人员可以将每个新 Web 部件都设计为需要输入邮政编码,而不是将它们设计为具有相同的保存邮政编码的功能。然后,开发人员只需将已提供邮政编码的 Web 部件连接到天气、新闻和公司列表 Web 部件,这些 Web 部件将邮政编码作为输入项。每个连接都扩展了原始 Web 部件的作用,同时减少了新 Web 部件中的多余代码。

实现和使用筛选器 Web 部件

Windows SharePoint Services 3.0 使用 ASP.NET Web 部件连接框架,在运行查询之前将筛选条件从一个 Web 部件传递到另一个 Web 部件。ASP.NET Web 部件连接基于提供程序和使用者的概念。提供程序 Web 部件通过编程接口向一个或多个使用者 Web 部件提供信息。提供程序通过明确定义的接口公开一些数据,使用者知道如何使用这些数据。筛选器 Web 部件只是一个特殊的提供程序,它提供了其他 Web 部件可用于筛选数据的筛选器值。

ASP.NET 提供一组集成的连接组件,因此只需极少的步骤和几行代码,无需处理所有潜在的数据复杂性和数据同步,便可使现有的 Web 部件进行连接。Windows SharePoint Services 利用连接框架并提供其他接口(IFilterValuesIItransformableFilterValues),这样更易于为筛选方案创建 Web 部件连接。

利用筛选器 Web 部件,您可以在运行时创建 Web 部件之间的动态编程连接,还可以创建网页标记中声明的预定义静态连接。Windows SharePoint Services 还为用户提供了一个用户界面 (UI),使用户能够在运行时连接或断开 Web 部件。

Web 部件连接基于连接的“拉”模型,其中使用者 Web 部件从提供程序 Web 部件那里获取数据。为创建连接,作为数据提供程序的 Web 部件将定义通信协定,表明该 Web 部件可提供的数据。另一个作为使用者且知道该通信协定的 Web 部件将检索这些数据。

建立连接的机制是一个特殊的回调方法:使用者和提供程序中各有一个。但是,Web 部件基类可处理全部的回调和通信详细信息,因此开发人员需要执行的步骤很少。如果开发人员想要使用最简单的方法来创建筛选器提供程序,只需选择提供程序中的一个方法作为回调方法,并在源代码中用 ConnectionProvider 属性将它标记出来。然后确保该方法中不采用任何输入参数并返回 ITransformableFilterValues 接口实例,该接口实例中包含要传递给使用者的筛选器数据。接口实例可以很简单(例如,包含邮政编码等字符串值的单个属性)。

可使用 ITransformableFilterValues 接口来指定筛选器功能,例如多选,以及支持 ALL 或 Null 值。通过此接口,Windows SharePoint Services 3.0 还可以在内部使用接口转换器,以便不同类型的接口可以相互通信。

使用者的回调方法从提供程序检索 IFilterValues 接口的实例。同样,开发人员只需(使用 ConnectionConsumer 属性)确定使用者中的哪个方法将检索接口实例,并将其分配给用于处理和呈现的某些内部变量。请注意,提供程序中的数据是在页面预呈现阶段和 Web 部件循环过程中传递的,因此在预呈现完成以后,您应该计划处理数据并更新使用者中的任何逻辑。

此外,由于参数名称在提供程序和使用者中不需要始终互相映射,因此 Windows SharePoint Services 提供了一个 ConsumerParameters 接口,使用者需要向提供程序提供参数名称。

运行时的情况

在运行时,Web 部件连接将由 WebPartManager 管理,如下所述:

  1. 对于每个已注册的提供程序,WebPartManager 将调用其提供程序连接点方法。

  2. 提供程序部件将返回通信接口的一个实例。

  3. 对于每个已注册此提供程序的使用者,WebPartManager 将调用其使用者连接点方法,传递该接口的一个实例。

  4. 使用者部件调用接口实例上的属性和方法。

现成的筛选器 Web 部件

默认情况下,Office SharePoint Server 2007 在 Web 部件库中提供了以下筛选器:

  • Analysis Services 筛选器

  • 编写列表筛选器

  • 业务数据目录筛选器

  • 当前用户筛选器

  • 日期筛选器

  • 页字段筛选器

  • 查询字符串 (URL) 筛选器

  • SharePoint 列表筛选器

  • 文本筛选器

  • UserProfile 筛选器

注释 注意:

筛选器操作 Web 部件不属于筛选器。它提供了一个“应用筛选器”按钮,您可以使用该按钮应用网页上的所有筛选器。

您可以在自定义 Web 部件中使用这些筛选器中的任意一个。有关详细信息,请参阅Walkthrough: Writing a Simple Filter Consumer Web Part

另请参阅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值