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表达式生成器 中看到:



    本文转自永春博客园博客,原文链接:http://www.cnblogs.com/firstyi/archive/2007/12/19/1006161.html,如需转载请自行联系原作者

相关文章
|
C语言 Perl
博途软件的基本操作,快捷操作有哪些?什么是博途视图和项目视图?
博途软件开发之初就把直观、高效、可靠作为非常重要的关键因素,持续走访了世界多数国家的工程师并着眼未来,博途软件在界面设置、窗口规划布局等多方面进行优化布置。如何快速了解博途软件的界面、操作规则是提高效率的关键环节。本节我们主要来介绍博途软件的基本操作。
博途软件的基本操作,快捷操作有哪些?什么是博途视图和项目视图?
10分钟精通SharePoint - SharePoint定位
我们致力于将复杂技术简单化,简单技术商业化。希望能把《10分钟精通SharePoint》打造成“SharePoint产品的道德经”。
1535 0
|
iOS开发 Swift API
iOS编程(双语版) - 视图 - 手工代码(不使用向导)创建视图
如何创建一个空的项目,最早的时候XCode的项目想到中,还有Empty Application template这个选项,后来Apple把它 给去掉了。 我们创建一个单视图项目。 1) 删除main.
902 0
|
数据安全/隐私保护
SharePoint开发——利用CSOM逐级获取O365中SharePoint网站的List内容
博客地址:http://blog.csdn.net/FoxDave 本文介绍如何利用SharePoint客户端对象模型(.NET)逐级获取Office 365网站中List的内容,仅仅是示例,没有讲究太多东西。
871 0