分页 排序 表格 多功能
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Test_Default5" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> <script src="../Js/jquery-1.7.2.min.js" type="text/javascript"></script> <style type="text/css"> body, html { border: 0px; margin: 0px; padding: 0px; overflow: hidden; } .lzyPager { background-color: #E9F1F3; height: 26px; line-height: 26px; font-size: 16px; font-family: "Helvetica Neue" ,Helvetica,STheiti,微软雅黑,宋体,Arial,Tahoma,sans-serif,serif; padding-top: 4px; padding-bottom: 4px; } .lzyPager ul { margin: 0px; padding: 0px; list-style: none; } .lzyPager li { margin-left: 2px; padding: 0px; float: left; cursor: pointer; height: 30px; line-height: 30px; } .lzyPager li span { margin: 0px; padding: 0px; border: none; } .lzyTable { overflow: hidden; } .lzyTable table { border: none; border-collapse: collapse; margin: 0px; padding: 0px; } .lzyTable td, th { border: 1px solid #D1D1D4; margin: 0px; padding: 0px; font-size: 14px; } .lzyTable .tbody_tr_even { background-color: #F6F6F6; height: 20px; line-height: 20px; } .lzyTable .tbody_tr_odd { background-color: #FFFFFF; height: 20px; line-height: 20px; } .lzyTable .tbody_tr_cell { color: Red; font-family: "Helvetica Neue" ,Helvetica,STheiti,微软雅黑,宋体,Arial,Tahoma,sans-serif,serif; } .lzyTable .tbody_tr_cell2 { color: green; font-family: "Helvetica Neue" ,Helvetica,STheiti,微软雅黑,宋体,Arial,Tahoma,sans-serif,serif; } .lzyTable .tbody_tr_cell3 { color: blue; font-family: "Helvetica Neue" ,Helvetica,STheiti,微软雅黑,宋体,Arial,Tahoma,sans-serif,serif; } </style> <script type="text/javascript"> (function ($) { this.currentData = null; this._theadWidth = 0; $.fn.lzyplugs = function (options) { var opts = $.extend({}, $.fn.defaults, options); var _containerTo = $(opts.containerTo); //插件容器 var _tableTo = null; var _pagerTo = null; if ((typeof opts.tableTo === "string") || (typeof $(opts.tableTo) === "object") && opts.tableTo.length > 0 && $(opts.tableTo).length > 0) { opts.tableTo = typeof opts.tableTo == 'string' ? $(opts.tableTo) : opts.tableTo; opts.tableTo.addClass(opts.tableClass); if (_containerTo.width() != opts.tableWidth) { opts.tableTo.width(_containerTo.width() + "px"); } else { opts.tableTo.width(opts.tableWidth + "px"); } opts.tableTo.height(_containerTo.height() - opts.pagerHeight + "px"); } if (typeof opts.pagerTo === "string" && opts.pagerTo.length > 0 && $(opts.pagerTo).length > 0 && typeof $(opts.pagerTo) === "object") { opts.pagerTo = typeof opts.pagerTo == 'string' ? $(opts.pagerTo) : opts.pagerTo; opts.pagerTo.addClass(opts.pagerClass); if (_containerTo.width() != opts.tableWidth) { opts.pagerTo.width(_containerTo.width() + "px"); } else { opts.pagerTo.width(opts.pagerWidth + "px"); } opts.pagerTo.height(opts.pagerHeight + "px"); } loadTableCount(); function InitPager() { var _element = opts.pagerTo.empty(); if (typeof opts.pagerSize != "number" || opts.pagerSize == 0) opts.pagerSize = 10; var _p = parseInt(opts.pagerCount % opts.pagerSize) <= 0 ? parseInt(opts.pagerCount / opts.pagerSize) : parseInt(parseInt(opts.pagerCount / opts.pagerSize) + 1); if (_p > 1) { var _pager_ul = $("<ul>").data({ "pagerCount": opts.pagerCount, "p": _p }).appendTo(_element); var _pager_li_current = $("<li>").html("<span>当前第<span style='color:red'>" + opts.pagerIndex + "</span></span>页,每页显示<span style='color:red'>" + opts.pagerSize + "</span>条").appendTo(_pager_ul); var _pager_li_first = $("<li>").click(function () { loadTableCount(); if (typeof opts.pagerIndex === "number" && parseInt(opts.pagerIndex) > 1) { opts.pagerIndex = 1; _pager_li_current.html("<span>当前第<span style='color:red'>" + opts.pagerIndex + "</span></span>页,每页显示" + opts.pagerSize + "条"); } }).html(opts.pagerFirst).appendTo(_pager_ul); var _pager_li_prev = $("<li>").click(function () { loadTableCount(); if (typeof opts.pagerIndex === "number" && parseInt(opts.pagerIndex) > 1) { opts.pagerIndex = opts.pagerIndex - 1; _pager_li_current.html("<span>当前第<span style='color:red'>" + opts.pagerIndex + "</span></span>页,每页显示" + opts.pagerSize + "条"); } }).html(opts.pagerPrev).appendTo(_pager_ul); var _pager_li_next = $("<li>").click(function () { loadTableCount(); if (typeof opts.pagerIndex === "number" && parseInt(opts.pagerIndex) < _p) { opts.pagerIndex = opts.pagerIndex + 1; _pager_li_current.html("<span>当前第<span style='color:red'>" + opts.pagerIndex + "</span></span>页,每页显示" + opts.pagerSize + "条"); } }).html(opts.pagerNext).appendTo(_pager_ul); var _pager_li_last = $("<li>").click(function () { loadTableCount(); if (typeof opts.pagerIndex === "number" && parseInt(opts.pagerIndex) < _p) { opts.pagerIndex = _p; _pager_li_current.html("<span>当前第<span style='color:red'>" + opts.pagerIndex + "</span></span>页,每页显示" + opts.pagerSize + "条"); } }).html(opts.pagerLast).appendTo(_pager_ul); var _pager_li_desc = $("<li><span>总共:<span style='color:red'>" + opts.pagerCount + "</span>条,<span style='color:red'>" + _p + "</span>页</span></li>").appendTo(_pager_ul); var _pager_li_goinput = $("<li>").appendTo(_pager_ul); var _pager_li_go_input = $("<div id='txtgo' >").attr("contentEditable", "true").css({ "width": "50px", "outline": "none", "border": "1px solid #D1D1D4", "padding-left": "2px", "height": "24px", "line-height": "24px" }).appendTo(_pager_li_goinput); var _pager_li_goa = $("<li>").appendTo(_pager_ul); var _pager_li_btngo = $("<div>").css({ "border": "1px solid #D1D1D4", "height": "24px", "line-height": "24px", "padding-left": "2px", "padding-right": "2px" }).text("GO").click(function () { var gop = $('#txtgo').text(); loadTableCount(); if (gop != null && $.trim(gop) != "" && parseInt(gop) > 0) { if (parseInt(gop) > _p) { alert("超过总页数"); } else { if (opts.pagerIndex != parseInt(gop)) { opts.pagerIndex = parseInt(gop); _pager_li_current.html("<span>当前第<span style='color:red'>" + opts.pagerIndex + "</span></span>页,每页显示" + opts.pagerSize + "条"); } } } }).appendTo(_pager_li_goa); } else { opts.pagerTo.html("当前只有" + opts.pagerCount + "条数据"); } loadTableData(); }; function CreateTable(tbodyData) { opts.tableTo.empty(); this.currentData = tbodyData; var _tbl = $("<table id=tbl >"); //创建表格对象 var _thead = $("<thead></thead>").appendTo(_tbl); //表头对象 var _obj_thead_tr = CreateTableHead(); _obj_thead_tr.appendTo(_thead); _tbl.width(this._theadWidth); var _tbody = $("<tbody></tbody>").appendTo(_tbl); //创建标题对象 var _tddata = eval(tbodyData); //获取加载的数据 $.each(_tddata, function (index, value) { CreateTableRow(index, value).appendTo(_tbody); }); if (opts.stripeRows) { _tbody.find("tr:even").addClass("tbody_tr_even"); _tbody.find("tr:odd").addClass("tbody_tr_odd"); } _tbl.appendTo(opts.tableTo); FixTable("tbl", 1, opts.tableTo.width(), opts.tableTo.height()); if (_tbl.width() <= $("#tbl_tableData").width()) { $("#tbl_tableData").css("overflow-x", "hidden"); } if (_tbl.height() <= $("#tbl_tableData").height()) { $("#tbl_tableData").css("overflow-y", "hidden"); } }; //排序 function sortData(code, sorttype, tbodyData) { var strDataType = "string"; var currData = eval(this.currentData); if (currData && currData.length > 0) { //获取排序字段的数据类型 $.each(opts.theadData, function (i, obj) { if (String(i).toLowerCase() == String(code).toLowerCase()) { if (obj.type) { strDataType = String(obj.type).toLowerCase(); } else { strDataType = "string"; } } }); var temp; if (sorttype == "asc") { for (var i = 1; i < currData.length; i++) { for (var j = currData.length - 1; j >= i; j--) { if (strDataType == "int" || strDataType == "float") { if ((currData[j][code] - 0) < (currData[j - 1][code] - 0)) { temp = currData[j - 1]; currData[j - 1] = currData[j]; currData[j] = temp; } } else if (strDataType == "datetime") { if (StringToDate(currData[j][code]) < StringToDate(currData[j - 1][code])) { temp = currData[j - 1]; currData[j - 1] = currData[j]; currData[j] = temp; } } else { if (String(currData[j][code]).localeCompare(String(currData[j - 1][code])) <= -1) { temp = currData[j - 1]; currData[j - 1] = currData[j]; currData[j] = temp; } } } } } else { for (var i = 1; i < currData.length; i++) { for (var j = currData.length - 1; j >= i; j--) { if (strDataType == "int" || strDataType == "float") { if ((currData[j][code] - 0) > (currData[j - 1][code] - 0)) { temp = currData[j - 1]; currData[j - 1] = currData[j]; currData[j] = temp; } } else if (strDataType == "datetime") { //if (typeof (currData[j][code]) == "string" && typeof (currData[j - 1][code]) == "string") if (StringToDate(currData[j][code]) > StringToDate(currData[j - 1][code])) { temp = currData[j - 1]; currData[j - 1] = currData[j]; currData[j] = temp; } } else { if (String(currData[j][code]).localeCompare(String(currData[j - 1][code])) >= 1) { temp = currData[j - 1]; currData[j - 1] = currData[j]; currData[j] = temp; } } } } } this.currentData = currData; } CreateTable(currData); }; function CreateTableHead() { _theadWidth = 0; var _thdata = eval(opts.theadData); var _thead_tr = $("<tr>"); if (typeof (opts.checkEnabled) != "undefined" && typeof (opts.checkEnabled) == "boolean") { if (opts.checkEnabled) { CreateCheckBox().attr("name", "cball").appendTo($("<th>").width(20).appendTo(_thead_tr)); _theadWidth += 22; } } if (typeof (opts.checkEnabled) != "undefined" && typeof (opts.checkEnabled) == "object") { if (eval(opts.checkEnabled).enabled) { CreateCheckBox().attr("name", "cball").appendTo($("<th>").width(eval(opts.checkEnabled).width).appendTo(_thead_tr)); _theadWidth += parseInt(eval(opts.checkEnabled).width) + 2; } } if (typeof (opts.numberEnabled) != "undefined" && typeof (opts.numberEnabled) == "boolean") { if (opts.numberEnabled) { $("<th>").text("序号").width(30).appendTo(_thead_tr); _theadWidth += 32; } } if (typeof (opts.numberEnabled) != "undefined" && typeof (opts.numberEnabled) == "object") { if (eval(opts.numberEnabled).enabled) { $("<th>").text(eval(opts.numberEnabled).name).width(eval(opts.numberEnabled).width).appendTo(_thead_tr); _theadWidth += parseInt(eval(opts.numberEnabled).width) + 2; } } $.each(_thdata, function (key, value) { var _th = $("<th>"); if (!value.hide) { _theadWidth += parseInt(value.width) + 2; } else { _th.hide(); } if (value.allowsort) { _th.click(function () { sortData(key, value.sorttype, ""); if (value.sorttype == "asc") { opts.theadData[key].sorttype = "desc"; } else { opts.theadData[key].sorttype = "asc"; } }); } _th.attr(key, value.name).width(value.width).html(unescape(value.name)).appendTo(_thead_tr); }); if (typeof (opts.editEnabled) != "undefined" && typeof (opts.editEnabled) == "boolean") { if (opts.editEnabled) { $("<th>").text("编辑").width(30).appendTo(_thead_tr); _theadWidth += 32; } } if (typeof (opts.editEnabled) != "undefined" && typeof (opts.editEnabled) == "object") { if (eval(opts.editEnabled).enabled) { $("<th>").text(eval(opts.editEnabled).name).width(eval(opts.editEnabled).width).appendTo(_thead_tr); _theadWidth += parseInt(eval(opts.editEnabled).width) + 2; } } if (typeof (opts.delEnabled) != "undefined" && typeof (opts.delEnabled) == "boolean") { if (opts.delEnabled) { $("<th>").text("删除").width(30).appendTo(_thead_tr); _theadWidth += 32; } } if (typeof (opts.delEnabled) != "undefined" && typeof (opts.delEnabled) == "object") { if (eval(opts.delEnabled).enabled) { $("<th>").text(eval(opts.delEnabled).name).width(eval(opts.delEnabled).width).appendTo(_thead_tr); _theadWidth += parseInt(eval(opts.delEnabled).width) + 2; } } if (typeof (opts.detailEnabled) != "undefined" && typeof (opts.detailEnabled) == "boolean") { if (opts.detailEnabled) { $("<th>").text("详细").width(30).appendTo(_thead_tr); _theadWidth += 32; } } if (typeof (opts.detailEnabled) != "undefined" && typeof (opts.detailEnabled) == "object") { if (eval(opts.detailEnabled).enabled) { $("<th>").text(eval(opts.detailEnabled).name).width(eval(opts.detailEnabled).width).appendTo(_thead_tr); _theadWidth += parseInt(eval(opts.detailEnabled).width) + 2; } } if (typeof (opts.columnDefine) != "undefined" && typeof (opts.columnDefine) == "boolean") { if (opts.columnDefine) { $("<th>").text("自定义").width(40).appendTo(_thead_tr); _theadWidth += 42; } } if (typeof (opts.columnDefine) != "undefined" && typeof (opts.columnDefine) == "object") { if (eval(opts.columnDefine).enabled) { $.each(opts.columnDefine.method(), function (index, value) { value.appendTo(_thead_tr); _theadWidth += parseInt(value.width) + 2; }); } } //opts.tableTo.width(_theadWidth); return _thead_tr; }; function CreateTableFoot() { return false; }; function CreateCheckBox() { return $("<input type='checkbox' />"); }; function CreateNumber() { }; function CreateTableRow(index, rowData) { //确认是否加入复选框 //确认是否加入序列 列 //确认隐藏的列 //确认还需要加入多少列,并且加入的内容是什么,由外部确认 var _tbody_tr = $("<tr>"); if (typeof (opts.checkEnabled) != "undefined" && typeof (opts.checkEnabled) == "boolean") { if (opts.checkEnabled) { CreateCheckBox().attr("name", "cbcell").appendTo($("<td>").width(20).appendTo(_tbody_tr)); } } if (typeof (opts.checkEnabled) != "undefined" && typeof (opts.checkEnabled) == "object") { if (eval(opts.checkEnabled).enabled) { CreateCheckBox().attr("name", "cbcell").appendTo($("<td>").width(eval(opts.checkEnabled).width).appendTo(_tbody_tr)); } } if (typeof (opts.numberEnabled) != "undefined" && typeof (opts.numberEnabled) == "boolean") { if (opts.numberEnabled) { $("<td>").text(index + 1).width(30).appendTo(_thead_tr); } } if (typeof (opts.numberEnabled) != "undefined" && typeof (opts.numberEnabled) == "object") { if (eval(opts.numberEnabled).enabled) { $("<td>").text(index + 1).width(eval(opts.numberEnabled).width).appendTo(_tbody_tr); } } var _thdata = eval(opts.theadData); $.each(rowData, function (key, value) { var _td = $("<td>"); if (_thdata[key].hide) { _td.hide(); } if (typeof (_thdata[key].render) == "string") { _td.addClass(_thdata[key].render); } _td.attr(key, value).html(unescape(value)).appendTo(_tbody_tr); }); if (typeof (opts.editEnabled) != "undefined" && typeof (opts.editEnabled) == "boolean") { if (opts.editEnabled) { $("<td>").click(function () { opts.editEnabled.editHanlder(); }).text("编辑").appendTo(_tbody_tr); } } if (typeof (opts.editEnabled) != "undefined" && typeof (opts.editEnabled) == "object") { if (eval(opts.editEnabled).enabled) { $("<td>").click(function () { opts.editEnabled.editHanlder(); }).text(eval(opts.editEnabled).name).appendTo(_tbody_tr); } } if (typeof (opts.delEnabled) != "undefined" && typeof (opts.delEnabled) == "boolean") { if (opts.delEnabled) { $("<td>").click(function () { opts.delEnabled.delHanlder(); }).text("删除").appendTo(_tbody_tr); } } if (typeof (opts.delEnabled) != "undefined" && typeof (opts.delEnabled) == "object") { if (eval(opts.delEnabled).enabled) { $("<td>").click(function () { opts.delEnabled.delHanlder(); }).text(eval(opts.delEnabled).name).appendTo(_tbody_tr); } } if (typeof (opts.detailEnabled) != "undefined" && typeof (opts.detailEnabled) == "boolean") { if (opts.detailEnabled) { $("<td>").click(function () { opts.detailEnabled.detailHanlder(_tbody_tr); }).text("详细").appendTo(_tbody_tr); } } if (typeof (opts.detailEnabled) != "undefined" && typeof (opts.detailEnabled) == "object") { if (eval(opts.detailEnabled).enabled) { $("<td>").click(function () { opts.detailEnabled.detailHanlder(_tbody_tr); }).text(eval(opts.detailEnabled).name).appendTo(_tbody_tr); } } if (typeof (opts.columnDefine) != "undefined" && typeof (opts.columnDefine) == "boolean") { if (opts.columnDefine) { $("<td>").text("自定义").width(40).appendTo(_tbody_tr); } } if (typeof (opts.columnDefine) != "undefined" && typeof (opts.columnDefine) == "object") { if (eval(opts.columnDefine).enabled) { $.each(opts.columnDefine.method(), function (index, value) { value.appendTo(_tbody_tr); }); } } return _tbody_tr; } function loadTableData() { //返回一个json数据 $.ajax({ async: false, data: "{pageindex:'" + opts.pagerIndex + "',pagewhere:'1=1',pagesort:'autoid',pagesize:'" + opts.pagerSize + "'}", url: '../Modules/MergeContacts/MergeContactWebService.asmx/GetAllPersonAddrList', type: 'post', dataType: 'json', contentType: "application/json;charset=utf-8", beforeSend: function () { opts.tableTo }, success: function (result) { if (typeof (result) == "object" && result.d != null && result.d != "" && eval(result.d).length > 0) { data = result.d; //这里回调一个数据处理的方法 CreateTable(data); } else { } }, error: function () { } }); }; function loadTableCount() { //使用正则表达式判断 url参数的格式正确性 //判断where是否为json正确格式 //返回一个总数 $.ajax({ type: "post", url: opts.pagerCountUrl, data: opts.pagerWhere, dataType: "json", contentType: "application/json;charset=utf-8", beforeSend: function () { //dosomething }, complete: function () { //dosomething }, success: function (result) { var _count = result.d; //if(_count!= if (this.CurrentCount != _count) { opts.pagerCount = _count; InitPager(); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(textStatus); alert(errorThrown); } }); }; function debounce(callback, delay, context) { if (typeof (callback) !== "function") { return; } delay = delay || 150; context = context || null; var timeout; var runIt = function () { callback.apply(context); }; return (function () { window.clearTimeout(timeout); timeout = window.setTimeout(runIt, delay); }); }; var winResizeHandler = function (event) { opts.lzyOnResize(); //回调设置父容器宽高问题 var _pWidth = $(opts.containerTo).width(); var _pHeight = $(opts.containerTo).height(); $("#lzyTable").width(_pWidth).height(_pHeight - opts.pagerHeight); $("#lzyPager").width(_pWidth); CreateTable(this.currentData); }; $(window).resize(debounce(winResizeHandler, 150)); }; $.fn.defaults = { containerTo: "#lzyContainer", pagerTo: "#lzyPager", //分页容器 pagerWidth: 800, //分页容器宽度 pagerHeight: 30, //分页高度 pagerClass: 'lzyPager', //分页样式 pagerFirst: '首 页', // pagerNext: '下一页', pagerPrev: '上一页', pagerLast: '尾 页', pagerCount: 0, //总数 pagerSize: 10, //单页显示多少条 pagerIndex: 1, //默认起始页 pagerWhere: null, //分页条件 pagerCountUrl: null, //获取分页总数的方法路径 tableTo: "#lzyTable", //表格容器 tableClass: "lzyTable", //表格容器样式 tableHeight: 300, //表格容器高度 tableWidth: 1300, //表格容器宽度 checkEnabled: true, //表格是否启用复选框 numberEnabled: { "enabled": false, "name": "序号", "width": "30" }, //是否表格启用序号列 editEnabled: { "enabled": false, "name": "编辑", "width": "30", "editHanlder": function (tr) { alert("编辑"); return false; } }, //是否表格启用编辑列 delEnabled: { "enabled": false, "name": "删除", "width": "30", "delHanlder": function (tr) { alert("删除"); return false; } }, //是否表格启用删除列 detailEnabled: { "enabled": true, "name": "详细", "width": "30", "detailHanlder": function (tr) { alert(tr.index()); return false; } }, //是否表格启用详细列 columnDefine: { "enabled": false, "name": "自定义列集合", "width": "30", "method": function () { var columnlist = new Array(); columnlist.push($("<td id=2>").text(this.name).width(this.width)); columnlist.push($("<td id=3>").text(this.name + "3").width(this.width)); columnlist.push($("<td id=4>").text(this.name + "4").width(this.width)); return columnlist; } }, stripeRows: true, //是否启用间隔行样式 theadData: {}, //表格表头显示的内容及宽度等信息,格式为:{"AutoID":{"name":"编号","width":"80","hide":"true"},"UserName":{"name":"用户名","width":"200","hide":"false"}}; tableDataUrl: null, //获取总数的方法 tableWhere: null, callback: function () { return false; }, lzyOnResize: function () { return false; } }; //字符串转换为js中的Date对象 function StringToDate(str) { var arr = str.split(" "); if (str.indexOf("/") > -1) { var arr1 = arr[0].split("/"); } else { var arr1 = arr[0].split("-"); } if (arr1.length <= 2) { arr1[2] = 1; } if (str.indexOf(":") > -1) { var arr2 = arr[1].split(":"); return new Date(arr1[0], arr1[1], arr1[2], arr2[0], arr2[1], arr2[2]); } else { return new Date(arr1[0], arr1[1], arr1[2]); } }; function FixTable(TableID, FixColumnNumber, width, height) { /// <summary> /// 锁定表头和列 /// <para> sorex.cnblogs.com </para> /// </summary> /// <param name="TableID" type="String"> /// 要锁定的Table的ID /// </param> /// <param name="FixColumnNumber" type="Number"> /// 要锁定列的个数 /// </param> /// <param name="width" type="Number"> /// 显示的宽度 /// </param> /// <param name="height" type="Number"> /// 显示的高度 /// </param> // if ($("#" + TableID + "_tableLayout").length != 0) { // $("#" + TableID + "_tableLayout").before($("#" + TableID)); // $("#" + TableID + "_tableLayout").empty(); // } // else { // $("#" + TableID).after("<div id='" + TableID + "_tableLayout' style='overflow:hidden;height:" + height + "px; width:" + width + "px;'></div>"); // } var oldtable = $("#" + TableID); //$("#lzyTable").empty(); $('<div id="' + TableID + '_tableFix"></div>' + '<div id="' + TableID + '_tableHead"></div>' + '<div id="' + TableID + '_tableColumn"></div>' + '<div id="' + TableID + '_tableData"></div>').appendTo($("#lzyTable")); var tableFixClone = oldtable.clone(true); tableFixClone.attr("id", TableID + "_tableFixClone"); $("#" + TableID + "_tableFix").append(tableFixClone); var tableHeadClone = oldtable.clone(true); tableHeadClone.attr("id", TableID + "_tableHeadClone"); $("#" + TableID + "_tableHead").append(tableHeadClone); var tableColumnClone = oldtable.clone(true); tableColumnClone.attr("id", TableID + "_tableColumnClone"); $("#" + TableID + "_tableColumn").append(tableColumnClone); $("#" + TableID + "_tableData").append(oldtable); $("#" + TableID + "_tableLayout table").each(function () { $(this).css("margin", "0"); }); var HeadHeight = $("#" + TableID + "_tableHead thead").height(); HeadHeight += 2; $("#" + TableID + "_tableHead").css("height", HeadHeight); $("#" + TableID + "_tableFix").css("height", HeadHeight); var ColumnsWidth = 0; var ColumnsNumber = 0; $("#" + TableID + "_tableColumn tr:last td:lt(" + FixColumnNumber + ")").each(function () { ColumnsWidth += $(this).outerWidth(true); ColumnsNumber++; }); ColumnsWidth += 2; if ($.browser.msie) { switch ($.browser.version) { case "7.0": if (ColumnsNumber >= 3) ColumnsWidth--; break; case "8.0": if (ColumnsNumber >= 2) ColumnsWidth--; break; } } $("#" + TableID + "_tableColumn").css("width", ColumnsWidth); $("#" + TableID + "_tableFix").css("width", ColumnsWidth); $("#" + TableID + "_tableData").scroll(function () { $("#" + TableID + "_tableHead").scrollLeft($("#" + TableID + "_tableData").scrollLeft()); $("#" + TableID + "_tableColumn").scrollTop($("#" + TableID + "_tableData").scrollTop()); }); $("#" + TableID + "_tableFix").css({ "overflow": "hidden", "position": "relative", "z-index": "50", "background-color": "Silver" }); $("#" + TableID + "_tableHead").css({ "overflow": "hidden", "width": width - 17, "position": "relative", "z-index": "45", "background-color": "Silver" }); $("#" + TableID + "_tableColumn").css({ "overflow": "hidden", "height": height - 17, "position": "relative", "z-index": "40", "background-color": "Silver" }); $("#" + TableID + "_tableData").css({ "overflow": "scroll", "width": width, "height": height, "position": "relative", "z-index": "35" }); if ($("#" + TableID + "_tableHead").width() > $("#" + TableID + "_tableFix table").width()) { $("#" + TableID + "_tableHead").css("width", $("#" + TableID + "_tableFix table").width()); $("#" + TableID + "_tableData").css("width", $("#" + TableID + "_tableFix table").width() + 17); } if ($("#" + TableID + "_tableColumn").height() > $("#" + TableID + "_tableColumn table").height()) { $("#" + TableID + "_tableColumn").css("height", $("#" + TableID + "_tableColumn table").height()); $("#" + TableID + "_tableData").css("height", $("#" + TableID + "_tableColumn table").height() + 17); } $("#" + TableID + "_tableFix").offset($("#lzyTable").offset()); $("#" + TableID + "_tableHead").offset($("#lzyTable").offset()); $("#" + TableID + "_tableColumn").offset($("#lzyTable").offset()); $("#" + TableID + "_tableData").offset($("#lzyTable").offset()); } })(jQuery); $(function () { $("#lzyContainer").width($(window).width()); $("#lzyContainer").height($(window).height()); var theadData = { "autoid": { "name": "系统编号", "width": "70", "hide": true, "allowsort": true, "type": "int", "sorttype": "asc" }, "cName": { "name": "姓名", "width": "300", "hide": false, "render": "tbody_tr_cell", "allowsort": true, "type": "string", "sorttype": "asc" }, "nPlace": { "name": "籍贯", "width": "100", "hide": false, "render": "tbody_tr_cell2" }, "cUnit": { "name": "现工作单位", "width": "200", "hide": false, "render": "tbody_tr_cell3" }, "cClass": { "name": "现部门", "width": "100", "hide": false }, "cDuty": { "name": "现职务", "width": "100", "hide": false } }; $.fn.lzyplugs({ containerTo: "#lzyContainer", pagerTo: "#lzyPager", pagerSize: 10, pagerWhere: '{ "pagewhere": "1=1" }', pagerCountUrl: "../Modules/MergeContacts/MergeContactWebService.asmx/GetPersonAddrListCount", tableTo: '#lzyTable', theadData: theadData, tableHeight: 500, tableDataUrl: "../Modules/MergeContacts/MergeContactWebService.asmx/GetAllPersonAddrList", tableWhere: '{"pageindex":"1","pagewhere":"1=1","pagesort":"autoid","pagesize":"10"}', lzyOnResize: function () { $("#lzyContainer").width($(window).width()); $("#lzyContainer").height($(window).height()); } }); }); </script> </head> <body> <form id="form1" runat="server"> <div id="lzyContainer"> <div id="lzyTable"> </div> <div id="lzyPager"> </div> </div> </form> </body> </html>
"[{"autoid":"26824","cName":"黄志臻","nPlace":"广东佛山","cUnit":"力维门锁","cClass":"","cDuty":"经理"},{"autoid":"26823","cName":"李江桥","nPlace":"江西","cUnit":"珠海卓凡集团","cClass":"设计部","cDuty":"设计师"},{"autoid":"26822","cName":"朱梨萍","nPlace":"新疆","cUnit":"广州森苗环保材料有限公司","cClass":"","cDuty":"总经理"},{"autoid":"26821","cName":"李君伍","nPlace":"河南","cUnit":"深圳骆丹酒店设计公司","cClass":"采购部","cDuty":"采购主管"},{"autoid":"26820","cName":"朱国峰(坚豪(澳门)工程有限公司工程部经理)","nPlace":"澳门","cUnit":"坚豪(澳门)工程有限公司","cClass":"工程部","cDuty":"经理"},{"autoid":"26819","cName":"何蕾","nPlace":"四川","cUnit":"深圳富士电梯公司","cClass":"营销部","cDuty":"经理"},{"autoid":"26818","cName":"王余峰","nPlace":"江西","cUnit":"佛山星艺装饰设计公司","cClass":"设计工作室","cDuty":"设计总监"},{"autoid":"26817","cName":"廖庆华","nPlace":"湖南","cUnit":"广州江海机电设备有限公司","cClass":"营销部","cDuty":"经理"},{"autoid":"26816","cName":"邱小拔","nPlace":"广东","cUnit":"广州丽斯顿设计","cClass":"","cDuty":"设计总监"},{"autoid":"26815","cName":"周俊宏","nPlace":"广东省惠来县","cUnit":"广州集美学院","cClass":"设计部","cDuty":"总工"}]"
[WebMethod] public object GetPersonAddrListCount(string pagewhere) { PersonAddrListBLL bll = new PersonAddrListBLL(); pagewhere = pagewhere.Replace("+", "%2B") + " and cName<>'''' "; int count = bll.GetCount(HttpUtility.UrlDecode(pagewhere)); return count; } [WebMethod] public string GetAllPersonAddrList(string pageindex, string pagewhere, string pagesort, string pagesize) { PersonAddrListBLL bll = new PersonAddrListBLL(); //"姓名","cName" //"籍贯","nPlace" //"现工作单位","cUnit" //"现部门","cClass" //"现职务","cDuty" string selectList = " autoid,cName,nPlace,cUnit,cClass,cDuty "; if (string.IsNullOrEmpty(pagesort)) { pagesort = "autoid asc"; } pagewhere = pagewhere.Replace("+", "%2B") + " and cName<>'''' "; // DataSet tmpds = bll.GetList(selectList, HttpUtility.UrlDecode(pagewhere), pagesort, int.Parse(pageindex), int.Parse(pagesize)); DataSet tmpds = bll.GetList(selectList, "autoid", 1, pageindex, pagesize, HttpUtility.UrlDecode(pagewhere), 500000, 20); if (tmpds != null && tmpds.Tables[0].Rows.Count > 0) { return Common.DataTable2Json(tmpds.Tables[0], false); //StringBuilder sb = new StringBuilder(); //sb.Append("<table id='lzytbl' style='border:none;border-collapse: collapse;padding: 0px;width:1550px'><thead><tr>"); //sb.Append("<td class='class_thead_th' >系统编号</td>"); //sb.Append("<td class='class_thead_th' >姓名</td>"); //sb.Append("<td class='class_thead_th' >籍贯</td>"); //sb.Append("<td class='class_thead_th' >所在单位</td>"); //sb.Append("<td class='class_thead_th' >所在部门</td>"); //sb.Append("<td class='class_thead_th' >职务</td>"); //sb.Append("</tr></thead><tbody>"); //int index = 0; //foreach (DataRow dr in tmpds.Tables[0].Rows) //{ // if (index % 2 == 0) // { // sb.Append("<tr class='class_tbody_tr_odd' >"); // } // else // { // sb.Append("<tr class='class_tbody_tr_even' >"); // } // sb.Append("<td width=150>" + dr["autoid"].ToString() + "</td>"); // sb.Append("<td width=200>" + dr["cName"].ToString() + "</td>"); // sb.Append("<td width=300>" + dr["nPlace"].ToString() + "</td>"); // sb.Append("<td width=300>" + dr["cUnit"].ToString() + "</td>"); // sb.Append("<td width=300>" + dr["cClass"].ToString() + "</td>"); // sb.Append("<td width=300>" + dr["cDuty"].ToString() + "</td>"); // sb.Append("</tr>"); // index++; //} //sb.Append("</tbody></table>"); //return sb.ToString(); } else { return null; } }
public static string DataTable2Json(DataTable dt, bool withTableName) { StringBuilder jsonBuilder = new StringBuilder(); if (withTableName) { jsonBuilder.Append("{\""); jsonBuilder.Append(dt.TableName); jsonBuilder.Append("\":"); } jsonBuilder.Append("["); for (int i = 0; i < dt.Rows.Count; i++) { jsonBuilder.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { jsonBuilder.Append("\""); jsonBuilder.Append(dt.Columns[j].ColumnName); jsonBuilder.Append("\":\""); jsonBuilder.Append(dt.Rows[i][j].ToString()); jsonBuilder.Append("\","); //HttpUtility.UrlEncode( } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("},"); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("]"); if (withTableName) jsonBuilder.Append("}"); return jsonBuilder.ToString(); }