sharepoint 2007 中数据视图的使用

Sharepoint中的数据视图(DataFormWebPart)有着非常重要的作用,特别是在需要定制自己的页面显示格式的时候。
数据视图可以将列表,比如通知列表、博客列表、链接列表等转换成数据视图,然后可以任意控制显示格式
数据视图可以从多个数据源取数据来显示,这里的数据源可以是子网站中的列表、可以是数据库中的记录、可以是其它网站的RSS源
数据视图可以实现分页、排序、查询、过滤等功能
数据视图可以利用ddwrt:IfHasRights实现权限的判断.....

基本的功能我就不说了,下面列出我在开发中觉得比较有用的、不太注意到的一些功能。
首先给出一个最简单的数据视图的代码:
数据视图代码

可以看到数据视图主意分成以下几个部分:
DataSources 指定数据源,其中指定的ListID就是一个列表的ID值(AllLists表中的tp_ID字段值)
ParameterBindings 绑定的一些参数,从29-53行使用的是Connection方式,表示是从外部传入到这个webpart的值
54行QueryString(Name)表示接收的是Url参数中的Name值
另外还可以得到一些系统变量的值,比如:
<ParameterBinding Name="UserName" Location="ServerVariable(LOGON_USER)" />
可以取得当前登录用户的名称,可以在需要的地方显示,所有可以使用的系统变量参见msdn:
http://msdn2.microsoft.com/en-us/library/ms524602.aspx

DataFields 部分定义数据源中可以使用的字段
XSL 部分是实际控制页面显示的部分,也是最重要的部分。
显示字段最基本的两种方式:
<xsl:value-of disable-output-escaping="no" select="(@URL, ', ')" />
显示数据源中的字段值
<
xsl:value-of select="$PageUrl" />
显示和使用定义的参数或变量的值

其中94行:<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row" /> 表示取得数据源中的所有行
其它的使用方式基本和标准的xsl的使用都一样。

另外数据视图中定义了自己的一个xsl的命名空间:xmlns:ddwrt=http://schemas.microsoft.com/WebParts/v2/DataView/runtime
 
具体提供了哪些方法可以参看msdn的一篇文章(是基于sharepoint 2003的,可以参考一下):
http://msdn2.microsoft.com/zh-cn/library/aa505323(en-us).aspx

例:使用ddwrt实现权限控制:
判断权限代码

主要就是使用了IfHasRights(2)这个方法

方法的说明及其它方法的使用也可以在Sharepoint Designer的XPath表达式生成器中看到:

posted @ 2007-12-19 18:29  永春  阅读(4568)  评论(4编辑  收藏  举报