jQuery写Table分页效果的代码是什么
Admin 2022-06-23 群英技术资讯 1163 次浏览
这篇文章主要讲解了“jQuery写Table分页效果的代码是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。本文实例为大家分享了jQuery实现Table分页效果的具体代码,供大家参考,具体内容如下
CSS:
<style>
.pager {
font-size: 18px;
}
.pagerTotal {
font-size: 18px;
height: 36px;
line-height: 36px;
margin-left: 2px;
}
.pager_a {
display: block;
width: 36px;
height: 36px;
line-height: 36px;
float: left;
text-align: center;
border: 1px solid black;
color: black;
margin-left: 2px;
cursor: pointer;
}
.pager_a_red {
display: block;
width: 36px;
height: 36px;
line-height: 36px;
float: left;
text-align: center;
border: 1px solid red;
color: red;
font-weight: bold;
margin-left: 2px;
cursor: pointer;
}
</style>
HTML:
<span class="pager"></span> <span class="pagerTotal"></span>
<table>
<tr>
<th>品牌</th>
<th>店铺</th>
<th>仓库</th>
</tr>
<tbody id='tbody'></tbody>
</table>
<span class="pager"></span> <span class="pagerTotal"></span>
JavaScript:
<script>
//初始化
$(function () {
ReportPage(1);
});
//加载报表-分页
function ReportPage(pageIndex) {
var index = pageIndex;//页码
var size = 500;//每页条数
var startDate = $("#startDate").val();
$("tbody").empty();
$.ajax({
async: false,
type: "GET",
data: {
"startDate": startDate,
"pageIndex": index,
"pageSize": size,
},
url: "/Controller/GetData",
dataType: "json",
success: function (request) {
//拼表格
$.each(request.data, function (i, field) {
var html = "";
html += "<tr>";
html += "<td>" + field.品牌 + "</td>";
html += "<td>" + field.店铺 + "</td>";
html += "<td>" + field.仓库 + "</td>";
html += "</tr>";
$("#tbody").append(html);
});
Pages(pageIndex, request.allPage, request.total);//生成分页
},
});
}
//分页按钮
function Pages(pageIndex, pageCount, pageTotal) {
$(".pagerTotal").html(" 总共:<font color='red'>" + pageTotal + "</font> 条数据!");
$(".pager").empty();
var page = "";
for (var i = 0; i < pageCount; i++) {
if ((i + 1) == pageIndex) {
page += "<span class='pager_a_red'>" + (i + 1) + "</span>";
}
else {
page += "<span class='pager_a' onclick='ReportPage(" + (i + 1) + ")'>" + (i + 1) + "</span>";
}
}
$(".pager").append(page);
}
</script>
MVC:
public ActionResult GetData(string startDate, int pageIndex, int pageSize)
{
string json = string.Empty;
if (!string.IsNullOrEmpty(startDate))
{
int total = 0;
int allPage = 0;
DataTable dt = bll.GetData(startDate, pageIndex, pageSize, out total, out allPage);
if (dt != null && dt.Rows.Count > 1)
{
json = JsonConvert.SerializeObject(new
{
total = total,//总记录数
allPage = allPage,//总页数
data = dt,//分页后数据
});
}
}
return Content(json);
}
获得分页数据dataTable、总数据数total、总页数allpage:
public DataTable GetDate(string startDate, int pageIndex, int pageSize, out int total, out int allPage)
{
//计算总数据数 和 总分页数
string sqlCount = "select count(*) from table where date='"+startDate+"'";//获取数据总数
total = int.Parse(SqlHelper.GetSingel(sqlCount ).ToString());//总数据行数
allPage = total / pageSize;//总分页个数 = 总数据行数 / 每页行数
allPage += total % pageSize == 0 ? 0 : 1;//不足一页也算一页
//获取分页数据
string sql = "";
sql = "DECLARE @PageIndex INT;";
sql = "DECLARE @PageSize INT;";
sql = "SET @PageIndex=" + pageIndex;
sql = "SET @PageSize=" + pageSize;
sql += " SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY ID desc) rownum, * FROM table where date ='"+ startDate +"')a";
sql += " WHERE rownum > @PageSize * (@PageIndex - 1) AND rownum <= @PageSize * @PageIndex";
sql += " order by ID desc";
DataTable dt = SqlHelper.GetDate(sql);//分页数据
return dt;
}
预览:

点击页码会重新调用ajax获取新的数据。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文给大家介绍的是关React hook的内容,Hook 是 React 16.8 的新增特性,一些朋友可能不是很了解,对此下面我们就来具体的了解一下React hook优缺点以及怎样避免常见的React hook问题。
node.js的全局变量怎么样使用?新手肯定对于node.js的全局变量不是很了解,对此,下面小编就能给介绍一下全局对象,全局函数,全局变量和准全局变量等等,了解这些对大家学习node.js的全局变量有一定的帮助,下面我们一起来了解看看吧。
这篇文章主要给大家介绍了关于Vue中ref和$refs使用方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
JS循环结构有几种?在javascript中循环结构有三种,分别是for循序、while循环和do while循环,具体是如何实现的呢?这篇我们就来看看JS中循环的实现,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起学习一下吧。
这篇文章主要介绍了JavaScript中layim之整合右键菜单的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008