• Spread JS 随笔二 简单表格 (配置列,列分组)


     ----添加列配置信息,Spread.Views决定将哪些列显示出来。我们对一个列指定一个宽度并且将数据格式化。

     ----实现远程加载数据。 远程加载数据需要引用zepto.js文件并且在ajsx请求中调用$.getJSON()方法才能实现对远程数据加载显示。 你可以自己写ajax请求也可以借用库文件帮你实现。

    1.head部分引用

    1    <script src="js/gc.spread.common.10.1.1.min.js" type="text/javascript"></script>
    2     <script src="js/gc.spread.views.dataview.10.1.1.min.js" type="text/javascript"></script>
    3     <script src="js/plugins/gc.spread.views.gridlayout.10.1.1.min.js" hg type="text/javascript"></script>
    4     <script src="js/locale/gc.spread.views.dataview.locale.zh-CN.10.1.1.min.js"></script>
    6     <script src="data/northwind_orders.js" type="text/javascript"></script>
    7     <script src="js/locale/gc.spread.views.dataview.locale.zh-CN.10.1.1.min.js"></script>

    2.对于动态修改列属性,当宽度设置为'*'时,该列会自适应宽度。

     1     var columns = [
     2       { id: 'CountryID', caption: '国家', dataField: 'CountryID',  110 },
     3       { id: 'ProvinceName', caption: '省份', dataField: 'CountryDetails.ProvinceName',  120 },
     4       { id: 'date', caption: '成立时间', dataField: 'OrderDate', format: 'mm/dd/yyyy',  150 },
     5       { id: 'population', caption: '人口', dataField: 'population',  80 },
     6       { id: 'Economics', caption: '经济', dataField: 'CountryDetails.Economics', format: '$#,##',  '*'} 8         ];
    9   var dataView = new GC.Spread.Views.DataView(document.getElementById("grid1"), data, columns, new GC.Spread.Views.Plugins.GridLayout( ));

    效果如图:

    3、列计算显示

        对于有些列需要进行计算,统计后结果的一个显示,这时可进行公式的配置。

        1.正常的列

      { id: 'population', caption: '人口', dataField: 'population', 80 },

          需要计算的列

          添加一个名为'total'的列,用来计算人均GDP。使用以“=”开头的字符串就代表了是使用公式计算得出的数据源

    { id: 'total', caption: '人均GDP', dataField: '=([Economics])/([population])', format: '$#,##', 200, dataType: 'number' }

    此处主要在 dataField 内进行需要的计算公式,其他的不变

    效果图如下

     4、列分组  

        对于需要对表格进行列分组显示。

        

        var columns = [
          { id: 'CountryID', caption: '国家', dataField: 'CountryID',  110 },
          { id: 'ProvinceName', caption: '省份', dataField: 'CountryDetails.ProvinceName',  120 },
          { id: 'date', caption: '成立时间', dataField: 'OrderDate', format: 'mm/dd/yyyy',  150 },
          { id: 'population', caption: '人口', dataField: 'population',  80 },
          { id: 'Economics', caption: '经济', dataField: 'CountryDetails.Economics', format: '$#,##',  100 },
          { id: 'total', caption: '人均GDP', dataField: '=([Economics])/([population])', format: '$#,##',  200, dataType: 'number' }
        ];
        //定义分组变量
      var gridConfig = {
          colMinWidth: 60,
          grouping: [{
                    field: 'CountryID'
                    }]
        };
       var data = [
             {
               "CountryID": "中国",
               "CountryDetails": {
                   "ProvinceName": "北京市",
                   "Economics": 170000,
               },
               "OrderDate": "1902-03-15",
               "population": 18.44,
           },
           {
              "CountryID": "中国",
              "CountryDetails": {
                  "ProvinceName": "浙江省",
                  "Economics": 200000,
              },
              "OrderDate": "1940-05-15",
              "population": 18.44,
          },
          {
            "CountryID": "美国",
            "CountryDetails": {
                "ProvinceName": "纽约",
                "Economics": 10000,
          },
            "OrderDate": "1933-06-15",
            "population": 6.19,
         }];
     var dataView = new GC.Spread.Views.DataView(document.getElementById("grid1"), data, columns, new GC.Spread.Views.Plugins.GridLayout(gridConfig));  // 注意--这里要将分组变量传过来
    

      效果图

     

  • 相关阅读:
    Elasticsearch 技术分析(五):如何通过SQL查询Elasticsearch
    IntelliJ IDEA 2018.3 重大升级,哪些功能打动了你?
    终于有人把“TCC分布式事务”实现原理讲明白了!
    Elasticsearch 技术分析(一): 基础入门
    拜托!面试请不要再问我Spring Cloud底层原理
    一个正则表达式引发的血案
    程序员啊,他又加班了
    程序员你为什么这么累 | 编码规范
    全文搜索引擎 ElasticSearch 还是 Solr?
    TCP三次握手原理,你真的了解吗?
  • 原文地址:https://www.cnblogs.com/condon/p/6855266.html
Copyright © 2020-2023  润新知