关于webix数据表格用法完整示例

 

一、    概要

本文解决webix环境简单实现数据表格显示,内容有

1、        多条记录垂直滚动时,锁住标题行

2、        数据表格,每个字段自动排序

3、        数据翻页

4、        数据分组统计(求和、记录数、最大值、最小值)

5、        中文字符集

6、        浏览器运行环境

二、    处理效果处理

关于webix数据表格用法完整示例

关于webix数据表格用法完整示例






 

二、  webix组件引入

            <link rel="stylesheet" href="../codebase/webix.css">

            <script src="../codebase/webix.js"  ></script>

                 <link rel="stylesheet" type="text/css" href="samples.css" >





三、    浏览器及中文汉字要求

1、        html5字符集要求

<meta charset=”utf-8”>

如果没有这行代码,在所有浏览器中,汉字乱码,不支持html4及以下字符集设置

2、        webix可以正常运行的浏览器

fireFox46.x,全部支持

chrome44.x,全部支持

edge,可以运行部分功能

ie10/11不支持

 

 

四、  编程要点

1、        组件运行空间设置

可以用一组<div>布置相对位置,示例如下

  <body>

            下面表格是原始数据

            <div id="testA"></div>

            <!--

            下面的pagerId用于翻页空间

             -->

            <div id="pagerA"></div>

            <hr>

            下面表格是前面表格统计之后的数据

            <div id="testB"></div>

              <div id="pagerB"></div>

 

2、        运行初始化,即页面载入后的运行点

webix.ready(function(){

//在此运行的代码,是body onload=”页面载入完成事件()”

})

3、        原始数据显示示例及说明,包括翻页

webix.ui({

                    container:"testA",//由<div id=”pagerA”>决定

                    view:"datatable",  //为二维数据表格

                    leftSplit:1,   //锁住最左边1列,如果锁住左列3列,则为leftSpit:3

                    rightSplit:2,  //锁住最右边2列,如果锁住左列3列,则为rightSpit:3

                    yCount:7,  //每页可显示记录数

                    width:500,

                    select:"cell",  //选择时,按行,可以为 true,row,cell,column

                    columns:[

                                        { id:"id",      header:"编号", css:"rank",            width:100,sort:"int"},

                                        { id:"title",  header:"主题",width:200,sort:"string"},

                                        { id:"year", header:"年号" , width:80,sort:"int"},

                                        { id:"rating",     header:"等级" , width:80,sort:"int"},

                                        { id:"rank", header:"级别" , width:80,sort:"int"},

                                        { id:"votes",      header:"投票",      width:100,sort:"int"}            

                             ],

                 //data:big_film_set,   //运行OK

                 //url:"testdata.html",   //运行OK

                 //url:"testdata.action",//运行OK

                 url:"testdata.json",//运行OK              

                 pager:{  //翻页组件,实现翻页

                      container:"pagerA",//由<div id=”pagerA”>决定

                      size:14,   //每次从结果集中取得14条记录

                      group:9,  //每页显示记录数

                      page:3    //结果集开始显示页号

                 }    

      }   

 );

 

 

4、        数据统计及编程说明

     var myformat = webix.i18n.numberFormat;//用于统计公式

 webix.ui({

                    container:"testB",//由<div id=”testB”>决定

                    view:"datatable",

                    select:"row",

                    leftSplit:1,

                    rightSplit:1,

                    yCount:4,

                    width:400,

                    columns:[

                                        { id:"year", header:"年号" , width:80,sort:"int"},

                                        { id:"sumVotes",     header:"票数求和",  format:myformat,width:100,sort:"int"},

                                        { id:"countVotes",  header:"记录数", format:myformat,width:100,sort:"int"},

                                        { id:"maxVotes",     header:"票最大值", format:myformat,width:100,sort:"int"},

                                        { id:"minVotes",      header:"票最小值", format:myformat,width:100,sort:"int"}

                             ]     ,                             

                 //data:big_film_set,   //运行OK

                 //url:"testdata.html",   //运行OK

                 //url:"testdata.action",//运行OK

                 url:"testdata.json",//运行OK

               

 

    

                          scheme:{

                                 $group:{

                                        by:"year",  //分组 group by 字段名称

                                        map:{

                                               "year"     :["year",  ""],//分组字段

                                               "countVotes":["*", "count"],   //字段名称可以为:*, any,统计字段,sql计算count(*)

                                               "sumVotes":["votes", "sum"], //sql语句:sum(votes)

                                               "minVotes":["votes", "min"],//sql语句:max(votes)

                                               "maxVotes":["votes", "max"]//sql语句:min(votes)

                                        }

                                 },

                                 $sort:"year"  //显示排序字段

                          },

 

                 pager:{ //翻页组件

                      container:"pagerB",  //由<div id=”pagerB”>决定

                      size:10,   //每次从结果集中取得10条记录

                      group:6,  //每页显示记录数

                      page:3    //结果集开始显示页号

                 }

    

      }   

 );

 

 



 

六、关于运行时数据源扩展

运行的数据源可以放在许多地方

1、        javascript文件中

<script src=”testdata.js”>

引用时代码

data:big_film_set,

2、        数据文件由后台java文件生成

可以是servlet数据流,json格式

可以是struts2数据流,json格式

可以是springmvc数据流,json格式

数据流后缀可以是任何格式,不一定是xxx.json,例如

xxx.html

xxx.action

xxx.text

。。。

均可以

                 //data:big_film_set,   //运行OK

                 //url:"testdata.html",   //运行OK

                 //url:"testdata.action",//运行OK

                 url:"testdata.json",//运行OK

                 

 

 

七、源文件说明

       http://download.****.net/download/isscollege/10045779

      可以直接导入到myeclipse环境,部署到tomcat后,不用修改一个字代码,即可运行


created by 刘明


关于webix数据表格用法完整示例