Jquery datatable 配置与应用
var EcommerceOrders = function() {
var initPickers = function() {
//init date pickers
$('.date-picker').datepicker({
rtl: App.isRTL(),
autoclose: true
});
}
var handleOrders = function() {
var grid = new Datatable();
grid.init({
src: $("#datatable_orders"),
onSuccess: function(grid) {
// execute some code after table records loaded
},
onError: function(grid) {
// execute some code on network or other general error
},
dataTable: {// here you can define a typical datatable settings from http://datatables.net/usage/options
//"sDom": '<"top"i>rt<"bottom"flp><"clear">', //显示布局
"aLengthMenu": [
[20, 50, 100, 150, -1],
[20, 50, 100, 150, "All"] //["每页10条", "每页25条", "每页50条", "显示所有数据", "不显示数据"]],//设置每页显示记录的下拉菜单
],
"iDisplayLength": 2, // default record count per page
// "iCookieDuration":7200, //指定用于存储客户端信息到cookie中的时间长度,超过这个时间后,自动过期
"bProcessing": true,
"bServerSide": true, //是否启动服务器端数据导入,即要和sAjaxSource结合使用
//"bLengthChange":false,//改变每页显示数据数量
//"bPaginate": false, //翻页功能
"bFilter":true, //全文过滤开关,过滤功能
//"bSort": false, //排序功能
//"bInfo": false //页脚信息
//"bAutoWidth": true, //自动宽度
//"bStateSave": true, //保存当前页面信息为cookie,默认关闭
//"bScrollCollapse": false, ////当显示的数据不足以支撑表格的默认的高度时,依然显示纵向的滚动条。(默认是false)
// "bJQueryUI": true, /*是否开启主题*/
"sAjaxSource": "test/dataProvider", // ajax source
// "sPaginationType": "full_numbers", //修改默认分页显示样式
// "sScrollX": "100%",//表格的宽度
// "sScrollXInner": "100%", //表格的内容宽度
// "sScrollY": "200px",
// "sUrl": "media/language/de_DE.txt" ,//也可以直接指定语言包,文件格式和上面一样
//"sServerMethod": "GET", //传递方式
"oLanguage": {
"sLengthMenu": "每页显示 _MENU_条",
"sZeroRecords": "没有找到符合条件的数据",
"sProcessing": "<img src=’./loading.gif’ />",
"sInfo": "当前第 _START_ - _END_ 条 共计 _TOTAL_ 条",
"sInfoEmpty": "木有记录",
"sInfoFiltered": "(从 _MAX_ 条记录中过滤)",
"sSearch": "搜索:",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "前一页",
"sNext": "后一页",
"sLast": "尾页"
}
},
// "oSearch":{"sSearch":"keyword1 keyword2 keyword3","bRegex":true},
// "asStripClasses": ['odd', 'even'], //指定要被应用到各行的class风格,会自动循环
"aaSorting": [[1, "asc"]] ,// //给列表排序 ,第一个参数表示数组 (由0开始)。1 表示Browser列。第二个参数为 desc或是asc
// "aoColumnDefs": [
// {"bSearchable": false, "bSort": false,"bVisible": true, "aTargets": [1]}, //bSearchable:是否可搜索;bVisible:是否可见;aTargets:哪一列
// {"bVisible": true, "aTargets": [2]}//
// ],
"aoColumnDefs": [{
"sClass": "center",
"aTargets": ['_all']
}, {
"bSearchable": false,
"aTargets": [0, 1,2]//['_all']
}, {
"bSortable": false, //指定不支持排序的列
"aTargets": ['_all']//['_all']
}, {
"sWidth": "5%", //指定列宽
"aTargets": [0, 1]//['_all']
}],
// "aoSearchCols": [
// null,
// {"sSearch": "keyword", "bRegex": true},
// null,
// {"sSearch": "keyword2", "bRegex": false}
// ],
// "aoColumns": [
// {"sClass": "center", "sName": "Id"},
// {"sClass": "center", "sName": "Title1"},
// {"sClass": "center", "sName": "CategoryId"},
// {"sClass": "center", "sName": "Click"}
// ],
}
});
// handle group actionsubmit button click
grid.getTableWrapper().on('click', '.table-group-action-submit', function(e) {
e.preventDefault();
var action = $(".table-group-action-input", grid.getTableWrapper());
if (action.val() != "" && grid.getSelectedRowsCount() > 0) {
grid.addAjaxParam("sAction", "group_action");
grid.addAjaxParam("sGroupActionName", action.val());
var records = grid.getSelectedRows();
for (var i in records) {
grid.addAjaxParam(records[i]["name"], records[i]["value"]);
}
grid.getDataTable().fnDraw();
grid.clearAjaxParams();
} else if (action.val() == "") {
App.alert({type: 'danger', icon: 'warning', message: 'Please select an action', container: grid.getTableWrapper(), place: 'prepend'});
} else if (grid.getSelectedRowsCount() === 0) {
App.alert({type: 'danger', icon: 'warning', message: 'No record selected', container: grid.getTableWrapper(), place: 'prepend'});
}
});
//用于每一列搜索过滤
// var asInitVals = new Array();
// $(".filter input").keyup(function() {
// grid.fnFilter(this.value, $(".filter input").index(this));
// });
// $(".filter input").each(function(i) {
// asInitVals[i] = this.value;
// });
// $(".filter input").focus(function() {
// if (this.className == "search_init")
// {
// this.className = "";
// this.value = "";
// }
// });
// $(".filter input").blur(function(i) {
// if (this.value == "")
// {
// this.className = "search_init";
// this.value = asInitVals[$(".filter input").index(this)];
// }
// });
}
return {
//main function to initiate the module
init: function() {
initPickers();
handleOrders();
}
};
}();
<div class="portlet-body">
<div class="table-container">
<table class="table table-striped table-bordered table-hover" id="datatable_orders">
<thead>
<tr role="row" class="heading">
<th >
<input type="checkbox" class="group-checkable">
</th>
<th width="5%">
Order #
</th>
<th width="15%">
Purchased On
</th>
<th width="10%">
Actions
</th>
</tr>
<tr role="row" class="filter">
<td>
</td>
<td>
<input type="text" class="form-control form-filter input-sm" name="order_id" class="search_init" >
</td>
<td>
<input type="text" class="form-control form-filter input-sm" name="order" >
</td>
<td>
<div class="margin-bottom-5">
<button class="btn btn-sm yellow filter-submit margin-bottom"><i class="fa fa-search"></i> Search</button>
</div>
<button class="btn btn-sm red filter-cancel"><i class="fa fa-times"></i> Reset</button>
</td>
</tr>
</thead>
<tbody>
</tbody>
<tfoot>
</tfoot>
</table>
</div>
</div>
public function actionDataProvider() {
$data = array();
$connect = Post::model()->getDbConnection()->createCommand();
$limit = isset($_REQUEST['iDisplayLength']) ? $_REQUEST['iDisplayLength']:2;
$offset = isset($_REQUEST['iDisplayStart']) ? $_REQUEST['iDisplayStart']:0;
$list = $connect->select('*')->from( Post::model()->tableName())->limit($limit, $offset)->queryAll();
$count = 5;
foreach ($list as $key => $val) {
$row = array();
$row[0] = "<input type=\"checkbox\" name=\"id[]\" value=\"1\">";
$row[1] = $val['title'];
$row[2] = $val['content'];
$row[3] = "<a href=\"ecommerce_orders_view.html\" class=\"btn btn-xs default btn-editable\"><i class=\"fa fa-search\"><\/i> View<\/a>";
$data[] = $row;
}
$json = new stdClass();
$json->aaData = $data;
$json->sEcho = $_REQUEST['sEcho'];
$json->iTotalRecords = $count;
$json->iTotalDisplayRecords = $count;
die(json_encode($json));
}
Jquery datatable 配置与应用的更多相关文章
- JQuery Datatable用法
原文出处:http://sgyyz.blog.51cto.com/5069360/1408251 目标: 使用jQuery Datatable构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求 ...
- jQuery Datatable 转载
jQuery Datatable 实用简单实例 时间 2014-05-08 10:44:18 51CTO推荐博文 原文 http://sgyyz.blog.51cto.com/5069360/14 ...
- 使用jquery.datatable.js注意事项
本文链接:https://blog.csdn.net/ylg01/article/details/76463908写在最前面的话,如果不是维护老项目或者在老项目上二次开发尽量不要用这个表格插件 为什么 ...
- jquery datatable使用简单示例
目标: 使用 jQuery Datatable 构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求.同时, jQuery Datatable 强大的功能支持:排序,分页,搜索等. Query ...
- jquery dataTable汉化(插件形式)
1.jquery dataTable.js 官网:http://datatables.net/ 中文:http://dt.thxopen.com/ 2.汉化提示信息(放到xx.js中,引入即可) 注: ...
- JQuery Datatable Ajax请求两次问题的解决
最近一个项目中使用JQuery Datatable,用起来比较方便,但在测试过程中,发现当条件改变时,有时查询结果中的数据不正确. 使用FireBug跟踪时,发现在使用Ajax请求时,点击一次搜索按钮 ...
- 分享在MVC3.0中使用jQuery DataTable 插件
前不久在网络上看见一个很不错的jQuery的DataTable表格插件.后来发现在MVC中使用该插件的文章并不多.本文将介绍在MVC3.0如何使用该插件.在介绍该插件之前先简单介绍一下,推荐该插件的原 ...
- jQuery DataTable 删除数据后重新加载
问题描述: 利用jQuery Datatable和artTemplate组合来做的表格.但是当删除数据时,需要重新加载table里的数据.但是问题是datatable并没有直接的重新渲染,反而给数据累 ...
- JQuery DataTable的配置项及事件
当我们需要在加载或者显示表格的时候,改变jquery datatable 的数据,或增加一些html标签处理. 可以通过Jquery DataTable的回调函数处理. 实例代码: if (oTabl ...
随机推荐
- 禁止input输入框输入指定内容
链接: http://blog.csdn.net/xiaoya_syt/article/details/52746598
- SSD_mobilenet
mobilenet_ssd caffe模型可视化地址:MobileNet_ssd conv13是mobilenet的最后一个卷积层,作者仿照VGG-SSD的结构,在MobileNet的conv13后面 ...
- [CSP-S模拟测试]:飞(fly)(数状数组+简单几何)
题目描述 $liu\_runda$决定提高一下知识水平,于是他去请教郭神.郭神随手就给了$liu\_runda$一道神题,$liu\_runda$并不会做,于是把这个题扔到联考里给高二的做.郭神有$n ...
- jsplumb+dragable+vue(一)
基于vue的jsplumb,支持拖拽生成节点,节点双击展示更多信息,节点连线,删除节点,删除连线,重绘连接图,当前页面刷新连接图,根据json画连接图等功能 本章主要讲 拖拽生成节点 获取链接图的信息 ...
- P2672推销员
传送 很抱歉之前用错误的思路写了一篇题解ρωρ 先说一下之前的思路. 对于每个住户,求出它的s[i]*2+a[i],寻找最大的住户m,然后按照a排序,如果m在前x大的住户里面,就选择前x大的住户,从中 ...
- thread_process_action
import math import random import re import sys import threading from time import ctime, sleep from l ...
- RESTful三理解
目录 目录 前言 Web应用的会话状态 Cookie 资源的表现形式 HATEOAS RESTful 资源 URI 前言 最近看了一篇很赞的RESTful博客,传送门:http://www.cnblo ...
- (转载) linux下文件权限设置中的数字表示
chmod ABC file 其中A.B.C各为一个数字,分别表示User.Group.及Other的权限. A.B.C这三个数字如果各自转换成由“0”.“1”组成的二进制数,则二进制数的每一位分别代 ...
- python pip报错pip._ vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
AttributeError: module 'pip' has no attribute 'main报错 找到安装目录下 helpers/packaging_tool.py文件,找到如下代码: de ...
- oracle三大范式
范式: 设计数据库定义的一个规则, 三大范式, 灵活运用, 人的思想是活的 一范式 1, 不存在冗余数据 同一个表中的记录不能有重复----所以主键(必须有) 2, 每个字段必须是不可再分的信息(列不 ...