源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[JavaScript] Vue.js实现分页查询功能

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2017-11-27 14:30:44 | 显示全部楼层 |阅读模式
这篇文章主要为大家详细介绍了Vue.js实现分页查询功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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前端组件学习教程进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

回复

使用道具 举报

0

主题

1万

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
19936
发表于 2022-9-19 17:10:55 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

13

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
25116
发表于 2022-11-2 00:52:16 | 显示全部楼层
先把创新班才能下班才能下班
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
24494
发表于 2023-2-22 11:29:06 | 显示全部楼层
呵呵呵呵呵呵呵a
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
14079
发表于 2023-8-3 12:53:30 | 显示全部楼层
笑纳了老板
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
16566
发表于 2023-10-22 12:37:59 | 显示全部楼层
激动人心,无法言表!
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-12-1 19:57:38 | 显示全部楼层
儿童服务绯闻绯闻绯闻
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
25456
发表于 2024-6-1 14:58:03 | 显示全部楼层
收下来看看怎么样
回复 支持 反对

使用道具 举报

9

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
25953
发表于 2024-8-8 05:48:41 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
25457
发表于 2024-8-16 03:07:06 | 显示全部楼层
看看看看看看看看看看看看看看看看看看看看看看看看看看看
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-11 21:51 , Processed in 0.093682 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表