网站的后台,多数是需要使用datatable来展示数据的,因为datatable的功能比较强大,可以更好的使用。

引用css

<link href="../../static/assets/advanced-datatable/media/css/demo_page.css" rel="stylesheet" />
<link href="../../static/assets/advanced-datatable/media/css/demo_table.css" rel="stylesheet" />

html代码

<!--筛选条件-->
<div class="col-sm-12" style="margin-top: 10px;">
<input type="text" class="form-control" id="txtmobile" placeholder="手机号码" style="display: inline-block; width: 200px;"/>
<input type="text" class="form-control" id="txtrealname" placeholder="真实姓名" style="display: inline-block; width: 200px;"/>
<input type="text" class="form-control Wdate" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" onclick="WdatePicker()" placeholder="登录时间开始" id="txtlogintimestart" style="display: inline-block; width: 200px; height: 32px;"/>-
<input type="text" class="form-control Wdate" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" onclick="WdatePicker()" placeholder="登录时间结束" id="txtlogintimeend" style="display: inline-block; width: 200px; height: 32px;"/>
<button type="button" class="btn btn-primary " style="display: inline-block;" onclick="articlesearch()">搜索</button>
</div> <!--Table-->
<div class="col-sm-12">
<table class="table table-hover" id="hidden-table-info">
<thead>
<tr>
<th class="hidden-phone">编号</th>
<th class="hidden-phone">手机号码</th>
<th class="hidden-phone">真实姓名</th>
<th class="hidden-phone">支付宝</th>
<th class="hidden-phone">支付宝二维码</th>
<th class="hidden-phone">微信</th>
<th class="hidden-phone">微信二维码</th>
<th class="hidden-phone">开户银行</th>
<th class="hidden-phone">银行卡号</th>
<th class="hidden-phone">开户人</th>
<th class="hidden-phone">账户余额</th>
<th class="hidden-phone">添加时间</th>
<th class="hidden-phone">操作</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>

js代码

 <script type="text/javascript" src="../../static/assets/advanced-datatable/media/js/jquery.dataTables.js"></script>
<script type="text/javascript">
var oTable;
var mobile;
var logintimestart;
var logintimeend;
var realname;
//创建表格
$(document).ready(function () {
oTable = $('#hidden-table-info').dataTable({
"aaSorting": [],
"bProcessing": true,
"bServerSide": true,
"serverSide": true,
"aLengthMenu": [[10, 25, 50, 100], [10, 25, 50, 100]],
"sPaginationType": "full_numbers",
"bFilter": false,
"bSort": true,
"sAjaxSource": "../../handler/workerHandler.aspx",
"fnServerData": function (sSource, aoData, fnCallback) {
aoData.push({ name: "action", value: "GetWorkerData" });
aoData.push({ name: "mobile", value: $("#txtmobile").val() });
aoData.push({ name: "realname", value: $("#txtrealname").val() });
aoData.push({ name: "logintimestart", value: $("#txtlogintimestart").val() });
aoData.push({ name: "logintimeend", value: $("#txtlogintimeend").val() });
$.ajax({
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
}, "aoColumnDefs": [{
"aTargets": [-1],
"mRender": function (data, type, full) {
return '<button class="btn btn-primary btn-xs" title="点击编辑标题" onclick="btn_workeredit(' data ',$(this))" style="margin-bottom:10px;">编辑</button><br/><button class="btn btn-primary btn-xs" title="点击删除" onclick="btn_worderdelete(' data ')">删除</button>';
},
}],
"aoColumns": [
{ "mData": "workerID" },
{ "mData": "mobile" },
{ "mData": "realName" },
{ "mData": "alipay" },
{
"mData": "alipayQRCode", "bSortable": false, "fnRender": function (obj) {
var data = obj.aData.alipayQRCode;
if (data != "" && data != null) {
return '<a href="' data '" target="_blank" title="点击查看原图"><img src="' data '" style="width:80px;height:80px;" /></a>';
} else {
return "";
}
}
},
{ "mData": "wechat" },
{
"mData": "wechatQRCode", "bSortable": false, "fnRender": function (obj) {
var data = obj.aData.wechatQRCode;
if (data!=""&&data!=null) {
return '<a href="' data '" target="_blank" title="点击查看原图"><img src="' data '" style="width:80px;height:80px;" /></a>';
} else {
return "";
}
}
},
{ "mData": "bank" },
{ "mData": "bankCardNumber" },
{ "mData": "bankCardName" },
{ "mData": "fund" },
{
"mData": "addTime", "fnRender": function (obj) {
var date = obj.aData.addTime;
return DataTable_TimeFormat(date);
}
},
{ "mData": "workerID", "bSortable": false },
],
}); $("#hidden-table-info_length").append("&nbsp;<button type='button' class='btn btn-danger' onclick='btn_reset()'>重置查询条件</button>&nbsp;<button type='button' class='btn btn-danger' onclick='btn_workeradd()'>添加工作人员</button>"); }); //时间格式化
function DataTable_TimeFormat(date) {
if (date != "" && date != null) {
var reg = /\./;//用来验证数字,包括小数的正则
if (reg.test(date)) {
date = date.split('.')[0];
}
return date.replace("T", " ");
} else {
return "";
}
} //搜索
function articlesearch(sort) {
mobile = $("#txtmobile").val();
realname = $("#txtrealname").val();
logintimestart = $("#txtlogintimestart").val();
logintimeend = $("#txtlogintimeend").val();
$("#hidden-table-info").dataTable().fnPageChange('first', true);
} //重置搜索
function btn_reset() {
$("#txtmobile").val("");
$("#txtrealname").val("");
$("#txtlogintimestart").val("");
$("#txtlogintimeend").val(""); mobile = null;
realname = null;
logintimestart = null;
logintimeend = null; $("#hidden-table-info").dataTable().fnPageChange('first', true);
}
</script>

服务端代码

private object data = "";
private object result = "";
private int sEcho, iDisplayStart, iDisplayLength, sortid, count;
private bool sorttype;
protected void Page_Load(object sender, EventArgs e)
{
string act = null;
try
{
act = Request["action"].ToString();
sEcho = Convert.ToInt32(Request["sEcho"]);
iDisplayStart = Convert.ToInt32(Request["iDisplayStart"]);//开始记录数
iDisplayLength = Convert.ToInt32(Request["iDisplayLength"]);//结束记录数
if (!int.TryParse(Request["iSortCol_0"], out sortid))//按哪列来排序
{
sortid = -1;
}
sorttype = Request["sSortDir_0"] == "asc" ? false : true;//升序还是降序 if (!string.IsNullOrEmpty(act))
{
switch (act)
{
case "GetWorkerData": GetWorkerData(); break;//获取工作人员信息
}
} result = data;
}
catch (Exception ex)
{
result = ReturnMsg(Enum_return.失败, ex.Message, null);
} Response.Write(result);
}
#region 获取工作人员
private void GetWorkerData()
{
//按条件搜索
string mobile = Request["mobile"];//手机号码
string realname = Request["realname"];//用户类型
string logintimestart = Request["logintimestart"];//登录时间开始
string logintimeend = Request["logintimeend"];//登录时间结束 //获取所有数据
List<yw_houseAgent_worker> list = null;
IQueryable<yw_houseAgent_worker> result = Ctx.yw_houseAgent_worker; #region 排序区分
switch (sortid)
{
case 0:
if (sorttype) result = result.OrderByDescending(c => c.workerID);
else result = result.OrderBy(c => c.workerID);
break;
case 1:
if (sorttype) result = result.OrderByDescending(c => c.mobile);
else result = result.OrderBy(c => c.mobile);
break;
case 2:
if (sorttype) result = result.OrderByDescending(c => c.realName);
else result = result.OrderBy(c => c.realName);
break;
case 3:
if (sorttype) result = result.OrderByDescending(c => c.alipay);
else result = result.OrderBy(c => c.alipay);
break;
case 5:
if (sorttype) result = result.OrderByDescending(c => c.wechat);
else result = result.OrderBy(c => c.wechat);
break;
case 7:
if (sorttype) result = result.OrderByDescending(c => c.bank);
else result = result.OrderBy(c => c.bank);
break;
case 8:
if (sorttype) result = result.OrderByDescending(c => c.bankCardNumber);
else result = result.OrderBy(c => c.bankCardNumber);
break;
case 9:
if (sorttype) result = result.OrderByDescending(c => c.bankCardName);
else result = result.OrderBy(c => c.bankCardName);
break;
case 10:
if (sorttype) result = result.OrderByDescending(c => c.fund);
else result = result.OrderBy(c => c.fund);
break;
case 11:
if (sorttype) result = result.OrderByDescending(c => c.addTime);
else result = result.OrderBy(c => c.addTime);
break;
default:
if (sorttype) result = result.OrderByDescending(c => c.workerID);
else result = result.OrderBy(c => c.workerID);
break;
}
#endregion if (!string.IsNullOrEmpty(mobile) || !string.IsNullOrEmpty(realname) || !string.IsNullOrEmpty(logintimestart) || !string.IsNullOrEmpty(logintimeend)) //搜索情况
{
#region 搜索情况
if (mobile.Trim().Length > 0)//手机号码
{
result = result.Where(c => c.mobile.Contains(mobile));
}
if (realname.Trim().Length > 0)//姓名
{
result = result.Where(c => c.realName.Contains(realname));
}
if (logintimestart.Trim().Length > 0 && logintimeend.Trim().Length > 0)//搜索查询时间
{
DateTime bstart = Convert.ToDateTime(logintimestart);
DateTime bend = Convert.ToDateTime(logintimeend);
result = result.Where(c => c.addTime >= bstart && c.addTime <= bend);
}
#endregion
} count = result.Where(c => c.serialID == CurrentSerialID && c.isDelete == false).Count();
list = result.Where(c => c.serialID == CurrentSerialID && c.isDelete == false).Skip(iDisplayStart).Take(iDisplayLength).ToList(); string str = SerializeTableData(sEcho, count, list);
Response.Write(str);
Response.End();
}
#endregion

datatable实例教程的更多相关文章

  1. 图解CSS3制作圆环形进度条的实例教程

    圆环形进度条制作的基本思想还是画出基本的弧线图形,然后CSS3中我们可以控制其旋转来串联基本图形,制造出部分消失的效果,下面就来带大家学习图解CSS3制作圆环形进度条的实例教程 首先,当有人说你能不能 ...

  2. Python导出Excel为Lua/Json/Xml实例教程(三):终极需求

    相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...

  3. Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验

    Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...

  4. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  5. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  6. Solr 4.0 部署实例教程

    Solr 4.0 部署实例教程 Solr 4.0的入门基础教程,先说一点部署之后肯定会有人用solrj,solr 4.0好像添加了不少东西,其中CommonsHttpSolrServer这个类改名为H ...

  7. React 入门实例教程(转载)

    本人转载自: React 入门实例教程

  8. 分享本年度最佳的15个 Photoshop 实例教程

    毫无疑问,Photoshop 是任何其类型的设计相关工作的最佳工具.有这么多东西,你可以用它来设计,发挥你的想象力,一切皆有可能. 现在,几乎所有的封面图像都会用 Photoshop 来修饰. 您可能 ...

  9. 值得 Web 开发人员学习的20个 jQuery 实例教程

    这篇文章挑选了20个优秀的 jQuery 实例教程,这些 jQuery 教程将帮助你把你的网站提升到一个更高的水平.其中,既有网站中常用功能的的解决方案,也有极具吸引力的亮点功能的实现方法,相信通过对 ...

随机推荐

  1. Python高级技巧:用一行代码减少一半内存占用

    我想与大家分享一些我和我的团队在一个项目中经历的一些问题.在这个项目中,我们必须要存储和处理一个相当大的动态列表.测试人员在测试过程中,抱怨内存不足.下面介绍一个简单的方法,通过添加一行代码来解决这个 ...

  2. 实战ELK(4)Metricbeat 轻量型指标采集器

    一.介绍 用于从系统和服务收集指标.从 CPU 到内存,从 Redis 到 Nginx,Metricbeat 能够以一种轻量型的方式,输送各种系统和服务统计数据. 1.系统级监控,更简洁(轻量型指标采 ...

  3. 学习excel的使用技巧二批量复制

    1 选中要操作的部分 2 CTRL+G 打开定位 3 点击 定位条件 4 选择空值 5 输入=号  然后键盘的 方向键  向上 6 按住CTRL+回车 即可实现  批量复制

  4. Hive表中的NULL值处理

    1 MySQL 到 Hive 表的sqoop任务把 原本的NULL 变成字符串 ‘null’ 了 alter table ${table_name} SET SERDEPROPERTIES('seri ...

  5. setTimeout应用例子-移入移出div显示和隐藏

    效果:移入div1,div2保持显示,移出div1,div2消失. 移入div2,div2保持显示,移出div2,div2消失. 一.HTML代码 <div id='div1'></ ...

  6. week0713.5 newspaper 安装问题

    然后爆红说nltk==2.0.5 太老了 所以我们 把包下载下来将requirements文件中nltk==2.0.5改成3.3.0 然后 将包打包 然后安装这个包就OK 下载newpaper wge ...

  7. Appium 学习二:切换Webview

    由于测试的APP是混合应用,即包含了原生代码和web网页. 混合应用在应用程序中嵌入了Webview,Webview是用来访问网页的一个控件.Webview内核也分为原生和第三方(比如腾讯X5内核) ...

  8. git-如何不写注释能自动带上修改文件信息

    背景:每次提交git,都要写注释,有些情况注释不太好写,或者根本没有必要写,这时可以通过自动加注释方法,比如可以追加修改了哪些文件 解决:通过shell脚本,在脚本里面写git命令,add commi ...

  9. [leetcode]15. 3Sum三数之和

    Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find ...

  10. node.js中express框架的基本使用

    express是一个基于node.js平台的,快速,开放,极简的web开发框架. 一.安装 express npm install express --save 二.简单使用 express //引入 ...