2014年5月8日星期四

jQuery Datatable 实用简单实例

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
jQuery Datatable 实用简单实例  阅读原文»

用户名:sgyyz
文章数:13
评论数:4
访问量:2474
无忧币:284
博客积分:254
博客等级:2
注册日期:2012-05-14

jQuery Datatable 实用简单实例

目标:

使用jQuery Datatable构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求。同时,jQuery Datatable强大的功能支持:排序,分页,搜索等。

Query Datatable能良好支持数据完全加载到本地后构建数据列表,排序、分页、搜索等功能就会自带,不需要我们去关心,在此主要说明通过后台动态的加载数据,已达到在大数据面前提高效率的效果。

1. 通过后台进行分页

2. 通过后台进行排序

3. 通过后台进行搜索

具体使用方法:

1. 首先构建我们需要的数据列表,以及页面显示表格。

  <table id="datatable" width="100%" border="1">      <thead>          <tr>              <th>ID</th>              <th>First Name</th>              <th>Last Name</th>              <th>Operation</th>          </tr>      <thead>  </table>  

表格建立很简单,只需用将表格定义好id,以及表头定义好。

2. 我们可以到jQuery Datatable官网上去下载一份jQueryjQuery Datatablejs库。https://datatables.net/examples/server_side/simple.html

wKiom1Nq7d3BrrQmAACVHW5gAbY810.jpg

3. 然后将这两个文件引入到页面文件中,注意jQuery的库一定要在最前面,因为页面加载的有顺序,保证后面的扩展库能使用到jQuery。同时,请下载最新的jQuery Datatable版本,因为它的写法以及参数更加简洁,功能更加多。【注:参数区别会在附录写明】

4. 编写前端代码。我们是要使用Ajax对后台进行请求,因此在配置datatable时,加上{"serverSide": true},已保证页面在加载时就请求后台,以及每次对datatable进行操作时也是请求后台。【附:如果想加上一点加载效果,可以增加{"processing": true}】。

配置请求后台URL{"ajax": "load"}

5. 配置数据返回对应具体的列。在Datatable中,属性columns用来配置具体列的属性,包括对应的数据列名,是否支持搜索,是否显示,是否支持排序等。根据上述页面配置我们具体的列。如下:

  $(document).ready(function() {          $("#datatable").dataTable({              "processing": true,              "serverSide": true,              "ajax" : "load",              "columns": [                  {"data": "id", "bSortable": false},                  {"data": "firstName"},                  {"data": "lastName"}              ]          });      });  

第一列ID,设置为不允许排序。也可以增加不显示:{"visible": false}

6. 此时对于后台而言,返回的数据一定要按照一定规范。如下:

  {      "draw": 2,      "recordsTotal": 11,      "recordsFiltered": 11,      "data": [          {              "id": 1,              "firstName": "Troy",              "lastName": "Young"          },          {              "id": 2,              "firstName": "Alice",              "lastName": "LL"          },          {              "id": 3,              "firstName": "Larry",              "lastName": "Bird"          }          // ......      ]  }  

参数解释:

draw:表示请求次数

recordsTotal:总记录数

recordsFiltered:过滤后的总记录数

data:具体的数据对象数组

7. 最后一列Operation,我们没有任何数据,用来放我们的通用操作列,如修改链接。 Datatable提供了自定义列columnDefs属性,他的值为数组对象,具体代码如下:

  $(document).ready(function() {          $("#datatable").dataTable({              "processing": true,              "serverSide": true,              "ajax" : "load",              "columns": [                  {"data": "id", "bSortable": false},                  {"data": "firstName"},                  {"data": "lastName"}              ],              "columnDefs": [                  {                      "targets": [3],                      "data": "id",                      "render": function(data, type, full) {                          return "<a href='/update?id=" + data + "'>Update</a>";                      }                  }              ]          });      });  

targets表示具体需要操作的目标列,下标从0开始

data: 表示我们需要的某一列数据对应的属性名

render:返回需要显示的内容。在此我们可以修改列中样式,增加具体内容

属性列表:data, 之前属性定义中对应的属性值

type 未知

full, 全部数据值可以通过属性列名获取

具体效果图如下:

wKiom1Nq712jvx_1AADkJifD5bc689.jpg

8. 我们再来看具体如何进行搜索、排序、分页。由于只是为了做demo,因此使用最简单的JDBC+Servlet的方式来实现。

首先我们来看,datatable给我们在做请求是传递过来的参数:

  =============== Request Paramerters ================  draw: 1  columns[0][data]: id  columns[0][name]:  columns[0][searchable]: true  columns[0][orderable]: true  columns[0][search][value]:  columns[0][search][regex]: false  columns[1][data]: firstName  columns[1][name]:  columns[1][searchable]: true  columns[1][orderable]: true  columns[1][search][value]:  columns[1][search][regex]: false  columns[2][data]: lastName  columns[2][name]:  columns[2][searchable]: true  columns[2][orderable]: true  columns[2][search][value]:  columns[2][search][regex]: false  order[0][column]: 0  order[0]: asc  start: 0  length: 10  search[value]:  search[regex]: false  _: 1399345292266  =============== Request Paramerters ================  

其中有

Citrix Synergy 2014 重要信息快速一览  阅读原文»

Citrix Synergy 2014 重要信息快速一览

今天的互联网、社交媒体的确强大,我们可以足不出户了解到9600公里(北京到LA的距离)之外的美国发生的事情。今天从Brain Madden大神那儿又扒到了一些经过提炼的关于Citrix Synergy 2014(Citrix每年一度的大会)的会议内容,不妨花个一分钟,了解一下Citrix的新举动。

  1. 全世界现在已经有1500家SP服务商采用XenApp方案提供DaaS服务了。(好牛B,1500家SP,反正具体有多少SP用是自己说了算。不过间接的也可以看出,Citrix还是死抱XenApp不放,对VDI仍有抵触情绪,谁让VDI市场玩家多、Citrix没有优势呢)

  2. 展示了内部版本的Citrix WorkSpace Service (Citrix的市场部实在太没有创意,名字直接抄袭Amazon AWS,小心Amazon律师找麻烦哦。另外正式产品需要到年底才能出来,其主要客户面对的是基于像AWS,Azure这样的公有云平台进行桌面交付(说白了就是可以让XenDesktop运行在公有云平台上。)另外,针对混合云的DaaS方案Avalon暂时还没有消息,可能已经夭折了。) 以上两条都是关于Citrix的DaaS信息,感觉极其混乱。

  3. ShareFile拿下了4万5千家客户,拥有100万最终使用者 (知名度跟Dropbox,Box等还是有较大差距。另外国内不会有客户买,为什么?因为在中国没有服务器呗)

  4. Chromebook被Citrix重视,会推新版的Citrix Receiver。(不过两个多月前,VMware就已经跟Google合作做这个事情了,是不是晚了太久了)

  5. 代号X1的Receiver迎来MDX+HDX大整合,Citrix将利用原来的InstallBase大力拓展XenMobile的市场。为了证明这个策略是正确了,Citrix给了一个销售数字,XenMobile的8.5成用户买得是XenMobile企业版。(不过从华尔街的评论来看,Citrix的移动战略过于激进、市场反响却很一般。另外中国地区的XenMobile 销售还是以低版本的MDM版本为主,为啥?企业版太复杂太贵了呗)

  6. Citrix继续增强移动应用的研发,出了一个类似Evernote的WorxNotes作为微软Office OneNote的增强版。(继续抱着微软哥哥的毛大腿。只可惜不是志玲姐姐的)

  7. XenMobile 9就要来了。(版本号变得太快,期待10、11版本能够在年内发布)

  8. 发布Citrix Workspace Suite产品(其实就是以前的XenDesktop铂金版,里面包含了虚拟桌面、虚拟应用、移动管理、网络许可等)新瓶装旧酒而已。

    上面是Citrix发的与VMware Horiozn 6 对比图。Citrix在功能上实在太强大了,秒杀都敏俊思密达好多回。估计Citrix的大侠们没有听过(或者装没有听过)VSAN,VCOPS,Mirage等VMware的软件,浮夸之余难免让人感觉有井底之蛙之嫌。

  9. 对VMware客户进行大降价,VMware View客户买Citrix可以打5折。Citrix称其为"拯救View计划"。(半价太不给力了,我强烈建议Citrix 免费送软件、送服务。要知道Citrix在中国的报价表比国内房地产的泡沫还要大,更是美国Citrix标准价格的N倍,即使是5折也比VMware贵好多。另外,要知道虚拟化项目里面,只有20%左右的成本是虚拟化软件厂商的。Citrix即使贱送自己,其他服务器、存储等相关成本也要比VMware高出很多啊 (vSphere、VSAN都随VMware Horizon产品一并提供了,不需要额外花钱,可以帮用户省大钱)

  10. Citrix Mac Receiver终于要推出一些新功能了 (Citrix需要特别感谢VMware推出的Horizon Mac客户端,鞭策着Citrix向前进。如果你不了解相关情况,可以直接回复 14,查看以前的消息 )

  11. 在Citrix大会之前发布的Citrix XenDesktop 7.5 在功能上几乎毫无新意。而被大量客户吐槽围攻后,Citrix终于在这次的大会上承诺针对XenDesktop 7.5产品,发布XenApp 6.5到XenDesktop 7.5的迁移工具技术预览版 (被市场重重的甩了几记耳光之后,才推出XenApp迁移方案。如果不了解之前的相关情况,还是回复 14 。)

本文内容来源Brain Madden网站及互联网,标色内容为个人观点,想了解Brain Madden原文,请点击"阅读原文"。另外,BrainMadden原文下面的评论几乎都是吐槽,建议各位看官细细品位。

本文来自微信订阅号"最终用户云计算",微信号是 "CHINAEUC"

写文章需要查各种资料、还要有灵感,并不容易。如果觉得文章有用,希望您关注我的微信并帮忙转发到您的朋友圈。点击文章标题下方的小字"最终用户计算"即可完成关注。 回复"目录"可以查看过往文章。回复"JD",可以查看最新的虚拟化、移动化领域的工作机会消息,并可以得到员工内部推荐机会。

51CTO是除微信公众平台之外的唯一信息发布网站。

阅读更多内容

没有评论:

发表评论