zoukankan      html  css  js  c++  java
  • Office365学习笔记—Xslt自定义列表视图

    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" />节点外面添加我们自己的判断条件,过滤我们需要的数据。

  • 相关阅读:
    用OKR让你的员工嗨起来
    用数据让我们的OKR变得“冷酷”却更有价值
    好的想法只是OKR的开始创业者谨记
    “OKR播种机”JOHN DOERR–目标是对抗纷乱思绪的一针疫苗
    用OKR提升员工的执行力
    OKR的两个基本原则
    《OKR工作法》| 一次说太多等于什么都没说
    《OKR工作法》–让所有人承担自己的职责
    《OKR工作法》——打造一支专一的团队
    Oracle wm_concat()函数的实际运用
  • 原文地址:https://www.cnblogs.com/wanren/p/3550645.html
Copyright © 2011-2022 走看看