如何使用Bootstrap实现分页及翻页
发布网友
发布时间:2022-04-23 09:42
我来回答
共2个回答
热心网友
时间:2022-04-07 08:09
最近做的asp.netMVC项目中需要对数据列表进行分类,这个本来就是基于bootstrap开发的后台,因此也就想着bootstrap是否有分页插件呢,或者说是基于jquery支持的分页功能,这样整体的网站后台风格便能够统一,又不用自己去写一套分页的功能。
首先便是要下载Bootstrap Paginator了,github上便有这个的开源项目提供下载:
https://github.com/lyonlai/bootstrap-paginator
首先视图的上面应该需要引入js和css文件,主要有三个文件,分别是bootstrap的css,jquery以及Paginator的js文件。其中网上搜到,貌似jquery必须要1.8版本以上,这个我没有亲自去测试看过。于是视图的文件引用便:
<link href="css/bootstrap.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-1.8.1.js"></script>
<script type="text/javascript" src="js/bootstrap-paginator.js"></script>
然后,分页的功能当然是一个基于Ajax的局部刷新才能够吸引我们,当然这个便需要jquery的支持。之前自己搞的都是EasyUI的分页,这次也应该有点不同。
<script>
$(function () {
var carId = 1;
$.ajax({
url: "/OA/Setting/GetDate",
datatype: 'json',
type: "Post",
data: "id=" + carId,
success: function (data) {
if (data != null) {
$.each(eval("(" + data + ")").list, function (index, item) { //遍历返回的json
$("#list").append('<table id="data_table" class="table table-striped">');
$("#list").append('<thead>');
$("#list").append('<tr>');
$("#list").append('<th>Id</th>');
$("#list").append('<th>部门名称</th>');
$("#list").append('<th>备注</th>');
$("#list").append('<th> </th>');
$("#list").append('</tr>');
$("#list").append('</thead>');
$("#list").append('<tbody>');
$("#list").append('<tr>');
$("#list").append('<td>' + item.Id + '</td>');
$("#list").append('<td>' + item.Name + '</td>');
$("#list").append('<td>备注</td>');
$("#list").append('<td>');
$("#list").append('<button class="btn btn-warning" onclick="Edit(' + item.Id + ' );">修改</button>');
$("#list").append('<button class="btn btn-warning" onclick="Edit(' + item.Id + ' );">删除</button>');
$("#list").append('</td>');
$("#list").append('</tr>');
$("#list").append('</tbody>');
$("#list").append('<tr>');
$("#list").append('<td>内容</td>');
$("#list").append('<td>' + item.Message + '</td>');
$("#list").append('</tr>');
$("#list").append('</table>');
});
var pageCount = eval("(" + data + ")").pageCount; //取到pageCount的值(把返回数据转成object类型)
var currentPage = eval("(" + data + ")").CurrentPage; //得到urrentPage
var options = {
bootstrapMajorVersion: 2, //版本
currentPage: currentPage, //当前页数
totalPages: pageCount, //总页数
itemTexts: function (type, page, current) {
switch (type) {
case "first":
return "首页";
case "prev":
return "上一页";
case "next":
return "下一页";
case "last":
return "末页";
case "page":
return page;
}
},//点击事件,用于通过Ajax来刷新整个list列表
onPageClicked: function (event, originalEvent, type, page) {
$.ajax({
url: "/OA/Setting/GetDate?id=" + page,
type: "Post",
data: "page=" + page,
success: function (data1) {
if (data1 != null) {
$.each(eval("(" + data + ")").list, function (index, item) { //遍历返回的json
$("#list").append('<table id="data_table" class="table table-striped">');
$("#list").append('<thead>');
$("#list").append('<tr>');
$("#list").append('<th>Id</th>');
$("#list").append('<th>部门名称</th>');
$("#list").append('<th>备注</th>');
$("#list").append('<th> </th>');
$("#list").append('</tr>');
$("#list").append('</thead>');
$("#list").append('<tbody>');
$("#list").append('<tr>');
$("#list").append('<td>' + item.Id + '</td>');
$("#list").append('<td>' + item.Name + '</td>');
$("#list").append('<td>备注</td>');
$("#list").append('<td>');
$("#list").append('<button class="btn btn-warning" onclick="Edit(' + item.Id + ' );">修改</button>');
$("#list").append('<button class="btn btn-warning" onclick="Edit(' + item.Id + ' );">删除</button>');
$("#list").append('</td>');
$("#list").append('</tr>');
$("#list").append('</tbody>');
$("#list").append('<tr>');
$("#list").append('<td>内容</td>');
$("#list").append('<td>' + item.Message + '</td>');
$("#list").append('</tr>');
$("#list").append('</table>');
});
}
}
});
}
};
$('#example').bootstrapPaginator(options);
}
}
});
})
</script>
而在视图的主体部分便有两个div,一个用来呈现数据列表,一个用来放置选择页面的导航。
<div class="span9">
<label>部门列表</label>
<hr />
<div id="list"></div>
<div id="example"></div>
</div>
而后台这个GetDate的方法就像下面这样:
public ActionResult GetDate(int id, int? page)
{
int pageIndex = page ?? 1;//当前页
const int pageSize = 2;//这里用来设置每页要展示的数据数量,建议把这个写到web.config中来全局控制
//获取需要展示的部门数据
IEnumerable<MODEL.qgoa_department> list = OperateContext.Current.BLLSession.Iqgoa_departmentBLL.GetPagedList(pageIndex, pageSize, x => x.Id!=null, x=>x.Id);
//得到数据的条数
int rowCount = list.Count();
//通过计算,得到分页应该需要分几页,其中不满一页的数据按一页计算
if(rowCount%pageSize!=0)
{
rowCount = rowCount / pageSize + 1;
}
else
{
rowCount = rowCount / pageSize;
}
//转成Json格式
var strResult = "{\"pageCount\":"+rowCount+",\"CurrentPage\":"+pageIndex+",\"list\":" + JsonConvert.SerializeObject(list) + "}";
return Json(strResult, JsonRequestBehavior.AllowGet);
}
这个方法还是有点缺陷的,可以写的更加完美,就好像上面那个pageSize这个可以通过读取配置文件web.config来全局修改,这样管理起来也方便,另外对于页面这种属性:页码,当前页,数据数量等等的信息,可以做一个类来存储,如果网站的项目比较大的话,这样更加方便我们去更改自己的代码。
热心网友
时间:2022-04-07 09:27
没有用过这个呢。
bootstrap分页怎么实现
Bootstrap分页可以通过内置的Pagination组件来实现。详细解释如下:一、引入Bootstrap的CSS和JS文件 在页面中正确引入Bootstrap的CSS和JS文件,这是使用Bootstrap组件的基础。可以通过链接到Bootstrap的CDN文件,或者直接下载文件并引入。二、创建Pagination组件 在HTML中创建一个div,为其添加class "pagination"。
bootstrap分页怎
Bootstrap提供了两种不同的分页方式,满足不同的页面展示需求。第一种是常规分页,它允许用户直观地浏览多页内容,你可以根据网站设计自由定制,比如使用图标代替数字,形式多样。另一种是翻页效果,这种分页更注重指示前后页面,通常会有"上一页"和"下一页"的明显标识。这种设计适合于内容较多,需要用户分...
如何使用Bootstrap实现分页及翻页
首先便是要下载Bootstrap Paginator了,github上便有这个的开源项目提供下载:https://github.com/lyonlai/bootstrap-paginator 首先视图的上面应该需要引入js和css文件,主要有三个文件,分别是bootstrap的css,jquery以及Paginator的js文件。其中网上搜到,貌似jquery必须要1.8版本以上,这个我没有亲自去测试...
bootstrapTable翻页(后端分页)数据对不上的问题
bootstrapTable再翻页时会先触发翻页函数onPageChange,同时也会触发本身向后台请求。所以相当于请求了两次,加载了两次。若上面的seoPageChange函数ajax请求没有数据,就好像做了一次重新加载。添加 翻页之前将数据清空,这样解决了翻页时数据对不上的问题。 但是最好的解决方式还是再翻页时将参数同bootstrapTable本身的后台...
dataTables 分页怎么增加跳转页
其中的样式设置"sPaginationType":"bootstrap"我想个这个分页加首页和尾页,不知道怎么弄.,具体解决方案如下:解决方案1:自己修改源代码增加了,还要修改内部的事件,有得改的。解决方案2:今天也碰到该问题。自己解决了下找到dataTables.bootstrap.js(版本3)注:此处修改为原始代码/*Jion修改增加首页、...
【Axure】Bootstrap元件库使用指南
1. 效果预览 直观展示元件库中的各种组件,如按钮、输入框、面包屑、下拉框、手风琴、头像、卡片、分页、警告框、弹窗、进度条、下拉菜单、标签导航、导航菜单、列表、表格、轻提示和加载。2. 准备工作 下载组件包,链接如下:链接:提取码:e8yp 3. 打开Bootstrap元件库 开始探索和使用元件库,轻松将...
如何实现分页如何实现ajax分页.使用ajax实现页面分页
文章的内容是使用bootstrap-paginator进行分页,使用ajax获取后台数据、渲染。1.版本说明bootstrap3.3.2bootstrap-paginatorv1.0github2.准备工程建立动态web工程,新建index.html页面,引入bootstrap相关cssjs文件。3.简单显示在需要显示分页的位置添加ul标签:在页面底部添加js代码:启动web服务,访问index....
html.bootstrappagelinks分页太多怎么办
在使用 jQuery+bootstrap 做分页处理,是可以参数设置显示多少页的。('#page').bs_pagination({ totalPages:5,//总页数:由接口返回(AJAX) currentPage:1,//当前页:由前端指定 visiblePageLinks:5,//显示的最多分页链接数 showGoToPage:false, showRowsPerPage: false, showRo...
unicorn.tables.js 分页怎么使用
bootstrap只是一个前端框架 既然你已经做好了分页空间,那么只需要在前端使用 1 2 ...将分页控件包裹一下就好了。
bootstrap模态框的分页怎么通过datatables来实现
/* Bootstrap style pagination control */ .extend( $.fn.dataTableExt.oPagination, { "bootstrap": { "fnInit": function( oSettings, nPaging, fnDraw ) { var oLang = oSettings.oLanguage.oPaginate;var fnClickHandler = function ( e ) { e.preventDefault();if ( oSettings.oApi....