Vue.js实现分页查询功能
作者:MZHJN2099 时间:2024-05-02 16:41:29
本文实例为大家分享了Vue.js实现分页查询的具体代码,供大家参考,具体内容如下
vue.js的使用如下:
1、引入vue.js
<script src="~/js/vue2.2.4.js"></script>
a、分页条
<ul class="pagination" id="pagination1"></ul>
b、分页条js、css
<link href="~/css/page.css" rel="stylesheet" />
<script src="~/js/jqPaginator.js"></script>
2、分页的方法
public JsonResult GrtUserData(int page,int rows)
{
//top分页法 row_number分页
TextEntities tes = new TextEntities();
//分页查询
List<Users> ulist = tes.Users.OrderBy(a=>a.Id).Skip((page-1)*rows).Take(rows).ToList();
int allcount = tes.Users.Count(); //总页数
int allpage = allcount / rows;
if (allcount % rows !=0)
allpage = allpage + 1;
DTO_Page dp = new DTO_Page();
dp.data = ulist;
dp.allpage = allpage;
return Json(dp, JsonRequestBehavior.AllowGet);
}
3、封装page方法
public class DTO_Page
{
public int rows { get; set; }
public int allpage { get; set; }
public List<Users> data { get; set; }
}
4、定义获取总页数的方法
public JsonResult GetAllpage(int rows)
{
TextEntities tes = new TextEntities();
int allcount = tes.Users.Count(); //总页数
int allpage = allcount / rows;
if (allcount % rows != 0)
allpage = allpage + 1;
return Json(allpage);
}
5、前台分页方法,获取后台的数据,实现分页的动态性
<script>
//封装一个查询后台的方法
var getdata = function (page, rows,vm) {
$.ajax({
url: '/home/GrtUserData',
type: 'get',
data: { page: page, rows: rows },
success: function (dto_page) {
vm.mydata = dto_page.data;
$.jqPaginator('#pagination1', {
totalPages: dto_page.allpage,
visiblePages: 5,
currentPage: page,
onPageChange: function (num, type) {
//怎么把第一次忽略
if (type != "init") {
//更新查询后的页面
getdata(num, 5,vm);
}
}
});
}
});
}
$(function () {
//给更新div添加数据
var update_vm = new Vue({
el: "#updatecontent",
data: {
userinfo: {}
}
})
//实例化 vue.js (用来给表格提供数据的) 只实例化一次
var vm = new Vue({
el: '#content',
data: {
mydata: []
},
methods: {
butdelete: function (_id) //删除
{
$.post('/home/BatchDelete', { ids: _id }, function (result) {
if (result > 0) {
location.href = "/home/UserMan";
}
else {
alert("删除失败");
}
});
},
butupdate: function (item, event) //更新
{
//使用jquery打开编辑状态
//$(event.target).parent().parent().find("td:gt(0):lt(4)").each(function (index,item) {
// $(item).html("<input type='text' style='width:50px' value=" + $(item).html() + ">");
//});
//复制对象
// var databack = $.extend({},item);
update_vm.$data.userinfo = item;
layer.open({
type: 1,
area: ["300px", "230px"],
title: "更新",
content: $("#updatecontent"),
btn: ["保存"],
yes: function (index) {
$.post('/home/Update', update_vm.$data.userinfo, function (result) {
//可以把vue.js数据替换把更新后到页面
// vm.$data.mydata.splice(1, 1, update_vm.$data.userinfo);
});
},
cancel: function () //点击关闭按钮
{
// alert(databack.UserName);
// console.log(databack);
}
});
}
}
});
//默认第一个请求
getdata(2,5,vm);
$("#deletebut").click(function () {
//存放需要批量删除的id
var ids = "";
$(".mytable input[type='checkbox']:checked").each(function (index, item) {
ids += $(item).val() + ",";
});
$.post('/home/BatchDelete', { ids: ids }, function (result) {
if (result > 0) {
location.href = "/home/UserMan";
}
else {
alert("删除失败");
}
});
});
});
</script>
关于vue.js的学习教程,请大家点击专题vue.js组件学习教程、Vue.js前端组件学习教程进行学习。
来源:http://blog.csdn.net/MZHJN2099/article/details/73322877
标签:Vue.js,分页,查询
0
投稿
猜你喜欢
Dreamweaver MX 2004新特点
2008-02-03 11:35:00
让ThinkPHP的模板引擎达到最佳效率的方法详解
2023-11-14 17:06:40
python3.6使用urllib完成下载的实例
2023-08-03 21:21:13
JS实战篇之收缩菜单表单布局
2024-04-18 09:47:43
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2021-08-28 21:15:07
asp阻止中国ip访问访问
2011-09-13 12:55:37
python图像常规操作
2022-12-28 18:21:52
python学习实操案例(二)
2022-09-04 01:36:41
python使用pdfminer解析pdf文件的方法示例
2023-07-31 00:36:47
解析:MySQL对“服务器端光标”的限制
2008-11-27 16:22:00
Python flask-script 模块详解
2023-03-09 06:20:20
escape解决AJAX中文乱码的简单方法
2008-10-23 14:32:00
MYSQL建立外键失败几种情况记录Can't create table不能创建表
2024-01-22 19:57:22
php中去除所有js,html,css代码
2023-07-08 07:59:52
Python JSON编解码方式原理详解
2023-10-24 10:33:33
python基础教程之while循环
2021-02-05 03:02:17
MySQL常用命令大全脚本之家总结
2024-01-15 06:13:13
asp当中判断函数一览
2010-05-27 12:15:00
JavaScript 自定义事件之我见
2024-04-10 10:50:01
golang修改结构体中的切片值方法
2024-05-08 10:44:48