1,在Office365中需要添加自定义的视图!用Spd添加视图,这儿我添加一个testView!

(1)打开testView.aspx将</ZoneTemplate>节点中的内容全部删除(保留</ZoneTemplate>节点)。

找到插入—数据视图—清空数据视图,如图:

(2)之后<ZoneTemplate>节点中会多出如下代码

<WebPartPages:DataFormWebPart runat="server" IsIncluded="True" AsyncRefresh="True" NoDefaultStyle="TRUE" ViewFlag="8" Title="DataView 1" PageType="PAGE_NORMALVIEW" __markuptype="vsattributemarkup" partorder="1" __WebPartId="{6BECF84D-7F21-46F2-A290-DE2B17B883F0}" id="g_6becf84d_7f21_46f2_a290_de2b17b883f0">
<DataSources> </DataSources> <datafields/>
<XSL>
</XSL>
</WebPartPages:DataFormWebPart>

(3)在<DataSources>节点内插入数据源

(3)此时页面会又多出一部分代码,同时Spd右侧展示出数据源详细信息,选择要展示的字段(Ctrl+字段选中多个),然后点击"将选择的项插入为..."按钮,选择多项目视图!

(4)这儿我插入的为一个任务列表,添加了4个展示字段!Title,AssignTo,StartData,EndData!保存一下,打开页面看看效果!

(5)到此我们的自定义列表视图已经完成。

2,如何在自定义视图上添加数据过滤功能。

(1)实际开发中只是添加个视图是不能满足需求的,此处以一个数据过滤作为例子

创建参数

(2)这儿可以看到参数可以绑定参数源,点开下拉框可以看到控件,Cookie,表单...!此处注意绑定控件的话一定要绑定控件的客户端Id!

此时我们分析一下页面上生成的Xslt代码

<xsl:template name="dvt_1.rowview">
<tr>
<xsl:if test="position() mod 2 = 1">
<xsl:attribute name="class">ms-alternating</xsl:attribute>
</xsl:if>
<xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
<td class="ms-vb" width="1%" nowrap="nowrap">
<span ddwrt:amkeyfield="ID" ddwrt:amkeyvalue="ddwrt:EscapeDelims(string(@ID))" ddwrt:ammode="view"></span>
</td>
</xsl:if>
<td class="ms-vb">
<xsl:value-of select="@Title"/>
</td>
<td class="ms-vb">
<xsl:value-of select="@StartDate"/>
</td>
<td class="ms-vb">
<xsl:value-of select="@DueDate"/>
</td>
<td class="ms-vb">
<xsl:value-of select="@AssignedTo" disable-output-escaping="yes"/>
</td>
</tr>
</xsl:template>

上面的代码是展示的字段名,@符号后面绑定的是字段,如果要绑定参数/变量的话,要用$符号加上参数名/变量名。

(3)XSLT是扩展样式表转换语言(Extensible Stylesheet Language Transformations)的简称。

此处的<xsl:template name="dvt_1.rowview">可以理解为C#中的方法。我们查找一下是哪个方法调用了dvt_1.rowview这个方法。

<xsl:template name="dvt_1.body">
<xsl:param name="Rows"/>
<xsl:param name="FirstRow" />
<xsl:param name="LastRow" />
<xsl:for-each select="$Rows">
<xsl:variable name="dvt_KeepItemsTogether" select="false()" />
<xsl:variable name="dvt_HideGroupDetail" select="false()" />
<xsl:if test="(position() >= $FirstRow and position() <= $LastRow) or $dvt_KeepItemsTogether">
<xsl:if test="not($dvt_HideGroupDetail)" ddwrt:cf_ignore="1">
<xsl:call-template name="dvt_1.rowview" />
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:template>

上面代码我们可以看到<xsl:call-template name="dvt_1.rowview" />节点,该节点是调用其他方法。外部是<xsl:for-each select="$Rows">节点。本质上此处所有的数据都存在$Rows这个变量中,然后遍历时添加判断条件将符合条件的过滤出来。然后我们再<xsl:call-template name="dvt_1.rowview" />节点外面添加我们自己的判断条件,过滤我们需要的数据。

Office365学习笔记—Xslt自定义列表视图的更多相关文章

  1. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  2. [转载]SharePoint 2013搜索学习笔记之自定义结果源

    搜索中心新建好之后在搜索结果页上会默认有所有内容,人员,对话,视频这四个结果分类,每个分类会返回指定范围的搜索结果,这里我再添加了部门日志结果分类,搜索这个分类只会返回部门日志内容类型的搜索结果,要实 ...

  3. Hadoop学习笔记—5.自定义类型处理手机上网日志

    转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这 ...

  4. shiro学习笔记_0600_自定义realm实现授权

    博客shiro学习笔记_0400_自定义Realm实现身份认证 介绍了认证,这里介绍授权. 1,仅仅通过配置文件来指定权限不够灵活且不方便.在实际的应用中大多数情况下都是将用户信息,角色信息,权限信息 ...

  5. KVM虚拟化学习笔记系列文章列表(转)

    Kernel-based Virtual Machine KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之k ...

  6. SpringBoot学习笔记:自定义拦截器

    SpringBoot学习笔记:自定义拦截器 快速开始 拦截器类似于过滤器,但是拦截器提供更精细的的控制能力,它可以在一个请求过程中的两个节点进行拦截: 在请求发送到Controller之前 在响应发送 ...

  7. python学习笔记(一)、列表和元祖

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...

  8. ASP.NET Core 2 学习笔记(十)视图

    ASP.NET Core MVC中的Views是负责网页显示,将数据一并渲染至UI包含HTML.CSS等.并能痛过Razor语法在*.cshtml中写渲染画面的程序逻辑.本篇将介绍ASP.NET Co ...

  9. 【Android】9.3 自定义列表视图的外观

    分类:C#.Android.VS2015: 创建日期:2016-02-18 一.简介 自定义的列表视图通常用Resources/Layout文件夹下的axml文件中的资源来声明,适配器则通过Id去加载 ...

随机推荐

  1. Redis数据类型及常用命名总结

    Redis数据类型: Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合).  1.String(字符串) ...

  2. JavaScript中按键事件的e.keyCode || e.which || e.charCode

    1.浏览器的按键事件 浏览器有3种按键事件——keydown,keypress和keyup,分别对应onkeydown.onkeypress和onkeyup3个事件句柄. 一个典型的按键会产生所有这三 ...

  3. CSS实现微信对话框

  4. 配置centos7 网卡

    进入root模式,输入 cd /etc/sysconfig/network-scripts/ 按Tab键查看网卡配置文件名称,然后进入编辑: 如: cd /etc/sysconfig/network- ...

  5. Java 文件上传与下载、email

    1. 文件上传与下载 1.1 文件上传 文件上传,要点: 前台: 1. 提交方式:post 2. 表单中有文件上传的表单项: <input type="file" /> ...

  6. Generic/Template Programming in Flink

    Generic/Template Programming in Flink SourceFunction<T> @Public public interface SourceFunctio ...

  7. openlayers跨域设置后出现http status 500错误

    最近需要弄一下地理信息系统,用到openlayers和geoserver.在解决跨域的时候出现如下问题.求解决方案啊. 问题如下: 附:已经安装了python27,环境变量path中也添加了:c:\P ...

  8. WPF中使用定时器 DispatcherTimer 做TCP连接中的心跳 HeartBeat

    开发过程中经常遇到定时触发的需求,如:TCP/IP连接中,使用心跳包保持连接或检测连接是否已经中断. WPF中有多种定时器: 1.using System.Windows.Threading; 代码如 ...

  9. 轻松看懂机器学习十大常用算法 (Machine Learning Top 10 Commonly Used Algorithms)

    原文出处: 不会停的蜗牛    通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 每个算法都看了 ...

  10. c++开发ocx入门实践三--基于opencv的简易视频播发器ocx

    原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/51404649  利用opencv做了个简易的视频播放器的ocx,可以在c++/c#/web ...