扬州老鬼 发表于 2013-1-29 13:37:54

datatable用法(2)

第二天我就尝试只有后台交互一次,后来的排序工作放在页面上。
var oTable = null;$(function() {       $("#exportTable").hide();   } ); function sortData(){if (oTable == null) {$("#exportTable").show();var jsonparam = <%=request.getAttribute("jsonparam")%>;//获取后台代码封装成json格式,oTable =$('#exportTable').dataTable( {    "aaData": jsonparam,   //将数据加载传递给页面   "bProcessing": true,   //加载数据时显示正在加载信息   "bFilter": true,//使用过滤器    "bAutoWidth": false,    "sDom": '<"top"lp>ftr<"bottom">i<"clear">',//变换分页、提示语言、过滤器的位置    "sPaginationType": "full_numbers", //分页显示类型    "aLengthMenu": [, ],//分页下拉框的自定义    "oLanguage": {         "sInfo": "当前数据为从第 _START_ 到第_END_ 条数据;总共有 _TOTAL_ 条记录",   //汉化                   "sLengthMenu": "每页显示_MENU_ 条记录",                   "sZeroRecords": "没有检索到数据",                   "sInfoEmpty": "当前数据为从第<font color='red'>0</font>到第<font color='red'> 0</font>条数据;总共有<font color='red'>0</font>条记录",                   "sProcessing": "正在加载数据...",                   "sSearch":"过滤名称:",                "oPaginate": {                     "sFirst": "首页",                     "sPrevious": "前页",                     "sNext": "后页",                     "sLast": "尾页"                  }               } } );//oTable.fnDraw();   }}

然后别忘了将sortData()方法y添加页面onload事件中去。jsp我就不贴了,上一篇的博客中已经做了说明。

后台代码,很简单。只要添加一部分装换json格式的代码。
我与数据库交互获得是List(ListOrderedMap)的数据,
我就直接进行转换:
JSONArray jsonDataArray = new JSONArray() ;Collection map = null;for (int i = 0; i < ptp_list.size(); i++) {map =ptp_list.get(i).values();jsonDataArray.add(map);}jsonparam = jsonDataArray.toString();//jsonparam 是我要传回页面的数据。

代码发布完毕,我以为这样挺好的,但是客户也认可,但是需要添加排序后的导出功能。我这就没法立刻解决了。只能放弃,采用team中以前就使用过的法子,只花了2个小时。
原来想添加亮点,增强客户体验,没想到最后,两天的功能最后就换成2个小时做成的功能。
页: [1]
查看完整版本: datatable用法(2)