• 一步步学习SPD2010--第五章节--处理数据视图(2)--自定义数据视图


            数据视图几乎给格式化数据提供了无限可能。向XLV Web部件一样,数据视图不含数据;它们指向存在其他位置的数据。当你请求页面时,SP向SQL Server内容数据库查询数据视图的属性,来发现数据的位置。然后数据抽取服务包含XML这样的数据,而且像在数据视图的XSLT中定义的那样,SP动态转换数据到HTML。SPD在 数据源详细信息任务窗格和设计视图中显示返回的XML数据。你可以使用设计视图作为可见XSLT编辑器,这样通过使用在第四章节“自定义网页”中使用的编辑静态HTML的一些技巧,你可以管理数据视图Web部件中的XML数据。和你在HTML单元格中格式化数据一样,效果也应用到了相同列的其他单元格中。

           注意:数据抽取服务可以使用SP2010管理中心Web网站在Web应用程序基础上配置。为了看到这个网站,在应用程序管理页面,在数据库下,点击配置数据抽取服务。

            你可以使用修改XLV Web部件的许多相同方法修改DFWP,如指定显示的域,筛选、排序和分组数据项目;在集中显示数据项目;或者限制显示的项目数。然而,DFWPs不能使用数据表视图。

            使用显示选项卡的数据视图预览命令,你可以修改无匹配项模板。这允许你在没有项目显示在数据视图或XLV Web部件中时,改变显示的文本。

            本次练习中,你给数据视图中的数据排序和分组,修改文本,修改分组数据时用到的函数。

           准备:在SPD中,打开CreateDVWP.aspx,选中SalesReport DFWP。

    1.     在域标题行,右击ListPrice,点击List Price。

    2.     在数据视图工具,选项选项卡上,点击筛选、排序和分组组中的排序和分组。

    3.     在可用域列表,向下滚动,选择Sales Person,点击添加。在组属性,点击显示组标题,然后点击显示组页脚。

    4.     点击高级分组。在高级分组对话框中,选择显示每组列总数。


    5.     点击确定。

            小贴士:在高级分组对话框中,显示每组列总数不允许你选择哪个组或列汇总。它给类型为数字的列创建了一个公式。一旦公式被创建,请删除那些组总数或列总数(不被要求的或不符合业务逻辑的)。

    6.     在可用域列表,点击Quarter,点击添加,在组属性中,显示页眉和页脚。

    7.     在可用域列表,点击Customer,点击添加。


    8.     点击确定。

            CreateDVWP.aspx页面刷新,DVWP显示了来自SalesReport列表中的数据,且以销售人员然后是季度进行分组。数据按客户排序。Quantity Purchased、List Price和Total Purchased列总数以每Quarter和每个SalesPerson格式显示。


            注意:销售人员页脚的计算是正确的,但是季度计数不正确。组计数只是用了域Quarter,为了得到正确的计数,Sales Person和Quarter域应该用来创建分组。List Price和Total Purchased域出现“NaN(不是一个数字)”输入。因为值中包含了非数字符号----美元符号和逗号。本章节之后会更正这些问题。

    9.     双击第一个计数,输入No. of sales in Quarter

            文本改变应用到了所有的以Quarter分组的计数

    10.  双击Count,输入Sales per Year。

    11.  双击1237左边的sum,输入max。点击1237,点击出现的图标,选择Max。


            Quantity Purchased列的值包含了一次销售的最大quantity purchased。

    12.  在设计选项卡,数据视图预览下,点击默认预览,选择无匹配项模板。

            页面刷新但是没有显示内容。

    13.  选择“此视图中没有项目可显示”,并输入The sales reports for this period are notavailable.。

    14.  在设计选项卡,数据视图预览下,点击无匹配项模板,然后选择默认预览。

    15.  点击保存,点击是重载页面,查看保存的结果。

      
  • 相关阅读:
    idea 导入spring 源码注意的问题
    如何在plsql/developer的命令窗口执行sql脚本
    使用babel把es6代码转成es5代码
    解决es6中webstrom不支持import的一个简单方法
    nodejs npm insttall 带不带-g这个参数的区别
    nodejs 喜欢报cannot find module .....的简单解决方案
    用npm安装express时报proxy的错误的解决方法
    angularjs的验证信息的写法
    Emacs as a Python IDE(转)
    消息摘要java.security.MessageDigest
  • 原文地址:https://www.cnblogs.com/crazygolf/p/3857118.html
Copyright © 2020-2023  润新知