现在有很多表格渲染方式 这里只是记录怎么使用datatables渲染数据

使用datatables可以更方便的来渲染数据

【中文api】http://datatables.club/index.html

在datatables中获取后台自定义的键值对:

initComplete: function (settings,data) {
// settings中有个json属性 可以在里面获取返回的数据对象
},
drawCallback: function(settings,data ) {
// settings中有个json属性 可以在里面获取返回的数据对
}

数据渲染:html代码

  <table  class="table table-striped table-bordered dataTable" id="js_table">
<thead>
<tr >
<th class="text-center">编号</th>
<th class="text-center">服务类型</th>
<th class="text-center">图标</th>
<th class="text-center">修改时间</th>
<th class="text-center">状态</th>
<th class="text-center">操作</th>
</tr>
</thead>
<tbody></tbody>
</table>

引入相关js :注这是中文api的css、js地址 需要更改为你自己的本地地址

<!-- DataTables CSS -->
<link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.7/css/jquery.dataTables.css"> <!-- jQuery -->
<script type="text/javascript" charset="utf8" src="http://code.jquery.com/jquery-1.10.2.min.js"></script> <!-- DataTables -->
<script type="text/javascript" charset="utf8" src="http://cdn.datatables.net/1.10.7/js/jquery.dataTables.js"></script>

本地js

 <!-- dataTables -->
<link href="~/css/dataTables.bootstrap.min.css" rel="stylesheet" />
<script src="~/js/jquery.dataTables.js"></script>
<script src="~/js/dataTables.bootstrap.min.js"></script>

js代码

//渲染列表  页面初始化时
var t = $("#js_table").DataTable({
"processing": true,
"searching": false,//关闭搜索框
"serverSide": true,//服务器分页
"ajax": {
"url": "/Function/GetMenuData",
"dataSrc": "list",//这里是后台返回的数据对象
"data": function (d) {//d 是原始的发送给服务器的数据,默认很长。
var param = {};//因为服务端排序,可以新建一个参数对象
param.start = d.start;//开始的序号
param.length = d.length;//要取的数据的条数
return param;//自定义需要传递的参数。
}
}, "createdRow": function (row, data, index) {
/* 设置表格中的内容居中 */
$('td', row).attr("class", "text-center");
},
//定义列: 取相应属性字段
"columns": [ { "data": "name" },
{ "data": "serialNumber" },
{ "data": "url" },
{
"data": "type",
"render": function (data, type, full, callback) {
//类型:0导航菜单;1操作按钮。
switch (data) {
case 0: return "导航菜单"; break;
case 1: return "操作按钮 "; break;
}
}
},
{ "data": "remarks" },
//操作列
{
"data": "id",//json
"render": function (data, type, full, callback) {
return ('<a class="btn btn-info" data-toggle="modal" data-target="#modal-addOrUpdate" onclick="details(\'' + data + '\');" >禁用</a><a class="btn btn-info" data-toggle="modal" data-target="#modal-addOrUpdate" onclick="details(\'' + data + '\');" >删除</a>');
}
}
],
"language": {
"lengthMenu": "每页 _MENU_ 条记录",
"zeroRecords": " ",
"info": "当前 _START_ 条到 _END_ 条 共 _TOTAL_ 条",
"infoEmpty": "无记录",
"infoFiltered": "(从 _MAX_ 条记录过滤)",
"search": "用户",
"processing": "载入中",
"paginate": {
"first": "首页",
"previous": "上一页",
"next": "下一页",
"last": "尾页"
}
},
"aLengthMenu": [
[10, 25, 50, 100], [10, 25, 50, 100]
],
"paging": true,//分页
"pagingType": "full_numbers",//显示首页尾页
"ordering": false,//排序
"info": true,//信息
"paging": true,
initComplete: function (settings, data) { },
"drawCallback": function (settings, data) { } });

后台数据:这里是java后台

public Map<String, Object> queryLifeType(String village, Integer pageIndex, Integer pageSize) {
Map<String, Object> map = new HashMap<String, Object>();
//分页排序
Page<?> pageSelect = PageHelper.startPage(pageIndex, pageSize, " row_add_time desc ");
//
LifeType example=new LifeType();
if (!StringUtils.isEmpty(village)) {
//根据小区查询
example.setVillageid(village);
}
//查询数据
List<LifeType> selectByExample=lifeTypeMapper.selectByExample(example); map.put("recordsTotal", pageSelect.getTotal());//这是总页数
map.put("recordsFiltered", pageSelect.getTotal());//这里是记录总条数
map.put("list",selectByExample);//这里对应页面js的 "dataSrc":"list",//这里是后台返回的数据对象
        return map;
}

c#后台返回格式

   Dictionary<string, object> entity = new Dictionary<string, object>();
List<Menu> treeModels = con.Query<Menu>("SELECT Id,ParentId as Parent,`Name` as Text from menu").ToList();
entity.Add("recordsTotal", treeModels.Count);
entity.Add("recordsFiltered", treeModels.Count);
entity.Add("list", treeModels);
return Json(entity);

【日常笔记】datatables表格数据渲染的更多相关文章

  1. [BUGCASE]FixedDataTable表格数据渲染错误

    一.问题描述 广告配置中绑定第三方规格ID表格数据,有一部分展示错乱,具体如下: 表格组件使用 Facebook 的 (fixed-data-table) 组件 二.原因分析 1.检查props 先查 ...

  2. layui表格数据渲染SpringBoot+Thymeleaf返回的数据时报错(Caused by: org.attoparser.ParseException: Could not parse as expression: ")

    layui table渲染数据时报错(Caused by: org.attoparser.ParseException: Could not parse as expression: ") ...

  3. 超全table功能Datatables使用的填坑之旅--1: 无法渲染表格数据: ajax调用了参数 : success

    问题:Datatables: 无法渲染表格数据 原因:datatables的ajax 传了"success":function(){},导致无法渲染数据. ajax 删掉" ...

  4. Angular将填入表单的数据渲染到表格

    一.项目简介 我们将采用Angular框架来做一个demo,这个demo将要实现的功能如下: 在X坐标和Y坐标文本框输入信息,然后点击添加,就会在下面表格 中出现一项相应的数据,点击每一项旁边的删除按 ...

  5. Vue电商后台管理系统项目第2天-首页添加表格动态渲染数据&分页

    0x01.使用Github学习的姿势 基于昨天的内容,今天的内容需要添加几个单文件组件,路由文件也需要做相应的增加,今天重点记录使用Element-UI中的表格组件实现数据动态渲染的实现流程和分页功能 ...

  6. vue学习笔记:数据渲染操作

    {{xxx}} 基本的插值表达式 插值表达式 使用两个大括号 {{ data中定义的数据名 }} 可以将数据插入到指定的位置 这种写法不仅可以显示data属性里定义的值,也可以书写js中的表达式,可以 ...

  7. datatables表格

    datatables表格 并不是所有的后台开发都有美工和前端工程师来配合做页面,为了显示数据并有一定的美感,jQuery的DataTables插件对于像我这样的前端菜鸟来说真是雪中送炭,当然对于专业的 ...

  8. JAVA Freemarker + Word 模板 生成 Word 文档 (普通的变量替换,数据的循环,表格数据的循环,以及图片的东替换)

    1,最近有个需求,动态生成 Word 文当并供前端下载,网上找了一下,发现基本都是用 word 生成 xml 然后用模板替换变量的方式 1.1,这种方式虽然可行,但是生成的 xml 是在是太乱了,整理 ...

  9. 前端常用功能记录(三)—datatables表格初始化

    其实上篇说的也算是jQuery Datatables的初始化,但主要是对某些字段意义的理解.下面记录的是datatables常用的功能的初始化. 数据源 我经常使用的有两种,一种是JavaScript ...

随机推荐

  1. django1.4日志模块配置及使用

    一.默认日志配置 在django 1.4中默认有一个简单的日志配置,如下 # A sample logging configuration. The only tangible logging # p ...

  2. 解决docker容器中文乱码,修改docker容器编码格式

    前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,所有的中文文件名全部变成?,英文文件名则正常显示. 问题经过定位,发现后台代码的multipartfile类在执行transterto ...

  3. NOIP2010提高组 机器翻译 -SilverN

    /**/ #include<iostream> #include<cstdio> #include<cmath> #include<cstring> # ...

  4. JAVA设计模式之工厂模式

    工厂模式概念: 实例化对象,用工厂方法代替new操作 工厂模式包括工厂方法模式和抽象工厂模式 抽象工厂模式是工厂方法模式的扩展 工厂模式的意图: 定义一个接口来创建对象,但是让子类来决定哪些类需要被实 ...

  5. 微软云Azure Website 远程调试

    微软云Azure Website 远程调试 是可以的 但是只有48小时,要在后台开启,所以还是很麻烦的啊! 但是安全性提高了,不得不承认哦

  6. javascript删除元素节点

    1.删除元素父节点 function removeElement(_element){ var _parentElement = _element.parentNode; if(_parentElem ...

  7. LInux下修改 ~/.bashrc 文件source ~/.bashrc 后 shell 命令 失效 任何命令都显示 “ bash XX :未找到命令”

    原因:在java安装后进行环境变量配置其中 export JAVA_HOME="/opt/java/jdk1.8" export PATH=$JAVA_HOME 即结束 错误原因: ...

  8. Integer.parseInt(String s) 和 Integer.valueOf(String s) 的区别

    通过查看java.lang.Integer的源码可以发现, 它们最终调用的都是 /** * Parses the string argument as a signed integer in the ...

  9. 047医疗项目-模块四:采购单模块—采购单审核提交(Dao,Service,Action三层)

    我们之前把采购单都审核了,这篇文章说的就是审核之后提交. 其实就是改变(update)采购单的审核状态. 需求: 用户要先查看采购单的内容. 查看采购单页面:页面布局同采购单修改页面. 选择审核结果. ...

  10. usb驱动开发23之驱动生命线

    关于字符串描述符的地位仅次于设备/配置/接口/端点四大描述符,那四大设备必须得支持,而字符串描述符对设备来说则是可选的,这并不是就说字符串描述符不重要,对咱们来说,提供字符串描述符的设备要比没有提供的 ...