zoukankan      html  css  js  c++  java
  • SharePoint中报表选择

    Office 365中制作报表的方式很多。

    这里介绍下使用js获取SharePoint List实现报表的一种方法 

    资源

    先看效果, 要实现一个饼图

    看代码

    详细代码解释见原文(原文中的代码有点小问题,修复后的代码如下)  http://www.sharepointdeveloperhq.com/2013/05/utilizing-spservices-for-sharepoint-2010-to-create-charts-with-high-charts/

     1 <script src="/sites/target3/Theme/jquery.min.js" type="text/javascript"></script>
     2 <script src="/sites/target3/Theme/highcharts.js" type="text/javascript"></script>
     3 <script src="/sites/target3/Theme/jquery.SPServices-2013.01.js" type="text/javascript"></script>
     4 <script src="/sites/target3/Theme/underscore.js" type="text/javascript"></script>
     5 <script type="text/javascript">
     6     $(document).ready(function () {
     7        $().SPServices({
     8             operation: "GetListItems",
     9             CAMLQuery: "<Query><OrderBy><FieldRef Name='Location'/></OrderBy></Query>",
    10             CAMLViewFields: "<ViewFields><FieldRef Name='Title'/><FieldRef Name='Date_x0020_of_x0020_Sighting'/><FieldRef Name='Action'/><FieldRef Name='Location'/></ViewFields>",
    11             listName: "owl seen",
    12             completefunc: processData
    13         });
    14     });
    15  
    16     function processData (xData, status) {
    17         var owlData = [];
    18         $(xData.responseXML).SPFilterNode("z:row").each(function () {
    19             owlData.push({
    20                 owl:        $(this).attr('ows_Title'),
    21                 date:       $(this).attr('ows_Date_x0020_of_x0020_Sighting'),
    22                 action:     $(this).attr('ows_Action'),
    23                 location:   $(this).attr('ows_Location')
    24             });
    25         });
    26 
    27         var chartData = [];
    28         var locationData = _.groupBy(owlData, 'location');
    29 
    30         $.each(locationData, function(row) {
    31             var locCount = row.length;
    32 
    33             chartData.push( {
    34                 name:   row[0].location,
    35                 y:      locCount
    36             });
    37  
    38         });
    39 
    40         renderChart (chartData);
    41     }
    42  
    43     function renderChart (data) {
    44         var chart = new Highcharts.Chart({
    45             chart: {
    46                 renderTo: 'owlchart',
    47                 plotBackgroundColor: null,
    48                 plotBorderWidth: null,
    49                 plotShadow: false
    50             },
    51             credits: {
    52                 enabled: true
    53             },
    54             title: {
    55                 text: 'Owl Sightings by Location'
    56             },
    57             tooltip: {
    58                 pointFormat: '{series.name}: <b>{point.percentage}%</b> {point.y} Times',
    59                 percentageDecimals: 1
    60             },
    61             plotOptions: {
    62                 pie: {
    63                     allowPointSelect: true,
    64                     cursor: 'pointer',
    65                     dataLabels: {
    66                         enabled: true,
    67                         color: '#000000',
    68                         connectorColor: '#000000',
    69                         formatter: function() {
    70                             return '<b>'+ this.point.name +'</b>: '+ this.y +' Times';
    71                         }
    72                     },
    73                 }
    74             },
    75             series: [{
    76                 type: 'pie',
    77                 name: 'Location Count',
    78                 data: data
    79             }]
    80         });
    81     }
    82 </script>
    83 <div id="owlchart">​​​​​​​​</div> 

    Thanks,

    Ivan

  • 相关阅读:
    Spring@Profile注解
    day 32 子进程的开启 及其用法
    day 31 udp 协议SOCK_DGRAM
    day 30 客户端获取cmd 命令的步骤
    day 29 socket 理论
    day 29 socket 初级版
    有关 组合 继承
    day 27 多态 接口 类方法 静态方法 hashlib 摘要算法模块
    新式类和经典类的区别
    day 28 hasattr getattr serattr delattr 和带__内置__ 类的内置方法
  • 原文地址:https://www.cnblogs.com/ilazysoft/p/3388449.html
Copyright © 2011-2022 走看看