datatables 配套bootstrap3样式使用小结(1)

今天介绍汇总一下datatables。

网址: www.datatables.net

公司CMS内容资讯站的后台管理界面用了大量的table来管理数据,试用了之后,感觉挺不错,推荐一下。

先上一个基本的效果图.

(图片太宽了,换了另一个模板)

介绍一下这个demo的实现。

首先是引用 js+css。

js有4个,①jquery,②bootstrap3,③datatables的js,④datatables对应bootstrap样式时用的。

为了说明问题,就不放bundle里面了。

<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Content/datatables/js/jquery.dataTables.js"></script>
<script src="~/Content/datatables/js/dataTables.bootstrap.js"></script>

然后是css。

有2个,①bootstrap3,②datatables对应bootstrap样式(要用这个替换datatables默认的样式,否则会出现右下角的分页样式margin很大的情况。)

<link href="~/Content/bootstrap.css" rel="stylesheet" />
<link href="~/Content/datatables/css/dataTables.bootstrap.css" rel="stylesheet" />

下面是html

<div class="panel panel-default">
    <div class="panel-heading">
        <div class="panel-title">
            基本的datatables
        </div>
    </div>
    <div class="panel-body">
        <table id="table_local" class="table table-bordered table-striped table-hover">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>FirstName</th>
                    <th>LastName</th>
                    <th>EnrollmentDate</th>
                    <th>Discriminator</th>
                </tr>
            </thead>
            @if(Model.Count() > 0) {
                <tbody>
                    @foreach(var p in Model) {
                        <tr>
                            <td>@p.PersonID</td>
                            <td>@p.FirstName</td>
                            <td>@p.LastName</td>
                            <td>@p.EnrollmentDate.GetValueOrDefault().ToString("yyyy-MM-dd HH:mm:ss")</td>
                            <td>@p.Discriminator</td>
                        </tr>
                    }
                </tbody>
            }
        </table>
    </div>
</div>

然后是js

<script type="text/javascript">
        $(function () {
            $("#table_local").dataTable({
                //lengthMenu: [5, 10, 20, 30],//这里也可以设置分页,但是不能设置具体内容,只能是一维或二维数组的方式,所以推荐下面language里面的写法。
                paging: true,//分页
                ordering: true,//是否启用排序
                searching: true,//搜索
                language: {
                    lengthMenu: ‘<select class="form-control input-xsmall">‘ + ‘<option value="1">1</option>‘ + ‘<option value="10">10</option>‘ + ‘<option value="20">20</option>‘ + ‘<option value="30">30</option>‘ + ‘<option value="40">40</option>‘ + ‘<option value="50">50</option>‘ + ‘</select>条记录‘,//左上角的分页大小显示。
                    search: ‘<span class="label label-success">搜索:</span>‘,//右上角的搜索文本,可以写html标签

                    paginate: {//分页的样式内容。
                        previous: "上一页",
                        next: "下一页",
                        first: "第一页",
                        last: "最后"
                    },

                    zeroRecords: "没有内容",//table tbody内容为空时,tbody的内容。
                    //下面三者构成了总体的左下角的内容。
                    info: "总共_PAGES_ 页,显示第_START_ 到第 _END_ ,筛选之后得到 _TOTAL_ 条,初始_MAX_ 条 ",//左下角的信息显示,大写的词为关键字。
                    infoEmpty: "0条记录",//筛选为空时左下角的显示。
                    infoFiltered: ""//筛选之后的左下角筛选提示,
                },
                paging: true,
                pagingType: "full_numbers",//分页样式的类型

            });
            $("#table_local_filter input[type=search]").css({ width: "auto" });//右上角的默认搜索文本框,不写这个就超出去了。
        });

    </script>

执行js之后,如果没有报错,那就会得到最上面的效果图。四个编号上的内容都是可以通过传入datatable()方法控制的。其中要注意,方法名是dataTable而不是DataTable,后者用于api的操作。

通过浏览器的开发者工具可以看到,四个控制块的id分别为table的id 加上 length,filter,info,paginate,所以如有需要,可以直接用js来强制控制。

编号②中的搜索框是输入内容后自动搜索表格上的所有列(当然可以通过他的api来实现搜索特定的列,比如某些隐藏列的筛选)。

图如下:

通过以上4个控制,基本可以满足大部分table列表的需求。

这样的table属于一次性加载完所有数据,然后再调用js格式化。

晚上再写用ajax异步加载数据datatable。

时间: 2024-10-07 04:17:56

datatables 配套bootstrap3样式使用小结(1)的相关文章

datatables 配套bootstrap样式使用小结(2) ajax篇

距离上一篇有点时间了,周末做了伴郎参加了一个土豪同学的婚礼. 上一篇是介绍一下基本的用法,基本的原理是取出所有的数据,然后调用$.datatables(option)方法格式化,这种方法显然不太科学,所以ajax方式是必须的. 首先上个效果图. js和css引用方面依旧没有变化,详见上篇. Html页面: @{ ViewBag.Title = "DataTableServer"; } @{ //两种身份 List<SelectListItem> discriminatorT

datatables的Bootstrap样式的分页怎么添加首页和尾页(引)

找到dataTables.bootstrap.js(版本3):(此项目中文件名为:dataTableExt.js) 1 $.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings ) 2 { 3 return { 4 "iStart": oSettings._iDisplayStart, 5 "iEnd": oSettings.fnDisplayEnd(), 6 "iLength": oS

样式问题小结

1. img元素与下面临近的元素中间会有10px左右的间隔,要去除间隔需要diaplay:block <img class="vac_ad_default" src="http://pic.c-ctrip.com/h5/group_travel/top_banner.jpg" style="display:block;width:100%"/> <div>asdfasdfasdfasdfsdafasdfasd</di

div样式调整小结 转载

1.多个div使用会自动换行,应该使用float属性  left : 对象浮在左边  right : 对象浮在右边 例如:  float: left  和 float: right 是两个div左右排列在同一行<div style="width: 20%; float: left; height: 100%">图片</div><div style="width: 50%; float: right; height: 100%">图

Java开源内容管理CMS系统J4CMS的几个样式

www.j4cms.com java 开源内容管理 页面直接编辑 bootstrap3 样式 default 样式 metro 样式 oschina 样式 leblog 样式 foundation 样式

CSS样式之a标签(原文网址http://www.divcss5.com/shili/s57.shtml)

一.a超链接的代码 <a href="http://www.baidu.com" target="_blank" title="关于div css的网站">DIV+CSS</a> 解析如下: target _blank -- 在新窗口中打开链接 _parent -- 在父窗体中打开链接 _self -- 在当前窗体打开链接,此为默认值 _top -- 在当前窗体打开链接,并替换当前的整个窗体(框架页) title 后跟链接

[读书笔记] Web 前端开发修炼之道

原创地址:http://www.cnblogs.com/bnbqian/p/3735565.html 转载请注明出处 今天我们要读的书是Web 前端开发修炼之道 第1章 从网站重构说起 1.1 糟糕的实现,头疼的维护 曾经, 网页代码很乱. 1.2 Web 标准,结构,样式和行为的分离 分离了. 1.3 前端的现状 人员参差不齐. 小结: 本章相当于引论. 第2章 团队合作 小结: 团队和沟通这个永远是个凑字数的好话题. 第3章 高质量的HTML 3.1 标签的语义 标签是有语义的,除了div

ID选择器和类选择器的合理使用

一.什么是ID选择器和类选择器 作为CSS选择器的最主要的两大选择器:ID选择器主要指的是通过DOM(Document Object Model)节点的ID选取节点,例如代码 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>ID选择器</title> 6 <style type="text/css"

高性能网站建设指南pdf

下载地址:网盘下载 内容简介  · · · · · · 本书结合Web 2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状.产生的原因,以及改善或解决性能问题的原则.技术技巧和最佳实践.重点关注网页的行为特征,阐释优化Ajax.CSS.JavaScript.Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面.在<高性能网站建设指南>中,作者给出了14条具体的优化原则,每一条原则都配以范例佐证,并提供了在线支持.<高性能网站建设指南>内容丰富,主要包