datatable插件使用小记

  经验,是前行路上,磕磕碰碰,不断探索,最终留下的结晶;亦是下一次,快速高效,寻求到结果的快捷方式。

datatable插件具体可参考:

  官网:http://datatables.club/
  参数说明:http://www.cnblogs.com/hyywaq/p/5919412.html

  html页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <!-- 页面引入css样式 -->
    <link rel="stylesheet" type="text/css" href="css/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="css/datatable/css/dataTables.bootstrap.min.css">
</head>
<body>

    <table id="data_table" class="table table-bordered table-striped table-hover" width="100%">
        <thead>
        <tr>
            <th>ID</th>
            <th>名称</th>
            <th>任务</th>
            <th>日期</th>
            <th>操作</th>
        </tr>
        </thead>
        <tbody id="data_list">

        </tbody>
    </table>

    <!-- require.js  模块化 -->
    <script src="js/common/libs/require.js" data-main="js/list"></script>
</body>
</html>

  js:

 //定义js文件路径,相对页面的路径
require.config({
    paths: {
        jquery: ‘js/common/libs/jquery.min‘,
        ‘datatables.net‘: ‘js/common/libs/datatable/jquery.dataTables.min‘,
        dbBootstrap: ‘js/common/libs/datatable/dataTables.bootstrap.min‘
    },
    shim: {
        ‘datatables.net‘:{
            deps:[‘jquery‘]
        },
        ‘dbBootstrap‘:{
            deps:[‘jquery‘,‘datatables.net‘]
        }
    }
});

require([‘dbBootstrap‘],function(){
   var util = {       table:{},
        //获取列表信息
        getListInfo:function(){
            var listUrl = ‘‘,
                base_url = window.location.host;

            util.table = $(‘#data_table‘).dataTable({
                language: {
                   "sProcessing": "处理中...",
                   "sLengthMenu": "显示 _MENU_ 项结果",
                   "sZeroRecords": "没有匹配结果",
                   "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
                   "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
                   "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
                   "sInfoPostFix": "",
                   "sSearch": "搜索:",
                   "sUrl": "",
                   "sEmptyTable": "表中数据为空",
                   "sLoadingRecords": "载入中...",
                   "sInfoThousands": ",",
                   "oPaginate": {
                       "sFirst": "首页",
                       "sPrevious": "上页",
                       "sNext": "下页",
                       "sLast": "末页"
                   },
                   "oAria": {
                       "sSortAscending": ": 以升序排列此列",
                       "sSortDescending": ": 以降序排列此列"
                   }
                },
                "pagingType":‘full_numbers‘, // 分页
                "aoColumnDefs": [{"bSortable":false, "aTargets": [4]}],  //第5列不排序,其余排序
                "order":[[3,‘desc‘]], // 默认按时间倒序 排序
                //ajax请求
                ‘processing‘:true,
                ‘serverSide‘:true,
                ‘ajax‘:{
                    ‘url‘:listUrl,
                    ‘dataSrc‘: function(result) {
                        if(result && result.data && !$.isEmptyObject(result.data)){
                            return result.data;
                        }else{
                            return [];
                        }
                    }
                },
                ‘columns‘:[ // 表格数据是obj是映射显示
                    {data:‘id‘},
                    {data:‘name‘},
                    {data:‘task‘},
                    {data:‘time‘},
                    {data:function(data){
                        if(data && data.status && data.status===‘pending‘){
                            return ‘<a class="pending">进行中</a>‘;
                        }
                        return ‘<a class="link-text" href="http://‘+base_url+‘/detail?id=‘+data.id+‘">查看</a>‘;
                    }}
                ]
            });

            // 响应式处理,始终保持分页、搜索等控件在表格的四个角落
            var el = [‘data_table_length‘,‘data_table_filter‘,‘data_table_info‘,‘data_table_paginate‘];
            for(var i=0, len=el.length; i<len; i++){
                $(‘#‘+el[i]).parent().removeClass(‘col-sm-6‘).addClass(‘col-xs-6‘);
            };
        }
   };

   util.getListInfo();
});

  特别注意:当需要刷新表格数据,即重新渲染表格时,只需按照下面的方式操作即可:

 //刷新当表格
reload:function(flag){
    setInterval(function(){
        if(flag){
            util.table.api().ajax.reload(null, true); // 调用插件的方法,第一个参数是回调,第二个参数是:true-重置分页,false-保持之前的分页信息
        }
    },1000*10);
}

  

时间: 2024-10-10 15:22:50

datatable插件使用小记的相关文章

jquery.datatable插件从数据库读取数据

一.分页 分页的基本思想是根据datatable的页码及每页显示的行数,将数据从数据库分段提出,然后再填充到表格中,以达到分页的效果. 这里需要用到datatable插件的几个属性: "sEcho":这个属性需要原封不动地传回给datatable,具体的作用我也不清楚,但是根据它值的变化情况来看,好像是一个操作次数的计数(之前我一直把它当做是pageindex来用,结果发现,不论我在datatable中是翻下一页还是翻上一页,它一直在增加.) "iDisplayStart&q

分享在MVC3.0中使用jQuery DataTable 插件

前不久在网络上看见一个很不错的jQuery的DataTable表格插件.后来发现在MVC中使用该插件的文章并不多.本文将介绍在MVC3.0如何使用该插件.在介绍该插件之前先简单介绍一下,推荐该插件的原因.在项目中我使用jqgrid比较多.但是发现当进行样式调整时jqgrid的样式常常会让美工头疼.而datatable插件却是一个轻量级的jQuery插件.当我通过浏览器查看该js插件rander后的源码.发现只是一个简单的html table,非常简洁.那么在没有特殊要求的情况下使用这个插件,开发

Jquery的DataTable插件 AJAX 服务器分页的的学习心得(java版)

首先得先引入对应的js 1.jquery.min.js  首先导入 2. File:        jquery.dataTables.min.js Version:     1.9.4     这是我使用的版本 这是  jsp 页面 关键的table  代码 <table id="fuck" class="table table-bordered data-table"> <thead> <tr> <span style=

datatable插件实现分页功能

1.下载datatable插件,下载地址:http://www.datatables.club/ 2.安装方法:http://www.datatables.club/manual/install.html 注意:按照官方文档的方法引入插件后会有点问题,样式也不是很美观,所以我做了修改. 由于通常djangotemplate 下的html文件使用了模板语法,所以要把CSS.JS文件放在对应的模板标签下面 下面是我的一个样例: 注意:table的id要改成"dataTables",样式会好

基于bootstrap + php +ajax datatable 插件的使用

Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 下面是我学习datatables写的一个服务器端(php)分页例子,该功能包含的功能 list: 1.在第一列添加checkbox,实现全选功能: 全选框没有排序按钮 2.在最后一列添加操作按钮 3.隐藏.显示该列字段:字段默认排序 4.薪水千分位.小数点两位格式化 5.内容太多用....截取文字: 鼠标移上去显示详情 6.替换字符,男字体显示红色,女显示绿色 7.给文字添加超链接

hadoop-1.2.1+eclipse+ubuntu插件编译小记

1.安装JDK和Ant,下载hadoop-1.2.1,hadoop-1.2.1的eclipse插件源码位于${hadoop.home}/src/contrib/eclipse-plugin. 2.将源码导入eclipse中.File->import->General->Existing Projects into Workspace->选择${hadoop.home}/src/contrib/eclipse-plugin 3.编译的时候会提示找不到类.将下面的fileset添加到c

bootstrap-select多选下拉列表插件使用小记

下载插件 插件地址:http://silviomoreto.github.io/bootstrap-select/ 下载好后引用css和js文件 <!-- 因为是jquery插件,所以引用前先引用jquery--> <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <!-- bo

dataTable插件的使用

var table; table = $("#example").dataTable({ "sDom": "<'top'f<'clear'>>t<'bottom'ilpr<'clear'>>", "bRetrieve": true, //用于指明当履行dataTable绑按时,是否返回DataTable对象 "bProcessing": true, //以指定

select2插件使用小记

页面引入: // 页面顶部 <link rel="stylesheet" type="text/css" href="css/select2.min.css"> // 页面底部 // 依赖jQuery,引入jQuery之后,还需引入以下js文件 <script type="text/javascript" src="js/select2/select2.full.min.js">&l