vue day8 table page
- @{
- ViewBag.Title = "Home Page";
- Layout = null;
- }
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>分页</title>
- <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css">
- <script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
- <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
- </head>
- <body>
- <div id="app-4" class="col-xs-12 main-table-wrapper">
- <table class="table table-striped table-hover table-bordered" id="main-table">
- <thead>
- <tr>
- <th><input type="checkbox" v-model="checkall" v-on:click='checkAll'></th>
- <th>商品名称</th>
- <th>商品单价</th>
- <th>数量</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="(item,index) in tableData">
- <td><input type="checkbox" v-model="checked" :value="item.id" /> </td>
- <td>{{ item.name }}</td>
- <td>{{ item.address }}</td>
- <td>{{ item.date }}</td>
- @*<td><button @click="handleRemove(index)">移除</button></td>*@
- </tr>
- </tbody>
- </table>
- <div>{{checked}}</div>
- </div>
- <ul class="pagination" id="page-break" v-if="seen">
- <li v-if="cur>5">
- <a v-on:click="cur=1,pageClick()" style="cursor:pointer">««</a>
- </li>
- <li v-if="cur>1">
- <a v-on:click="cur--,pageClick()" style="cursor:pointer">«</a>
- </li>
- <li v-if="cur-5>0">
- <a style="cursor:not-allowed">...</a>
- </li>
- <li v-for="item in indexs" v-bind:class="{'active':cur==item}">
- <a v-on:click="btnClick(item), pageClick()" style="cursor:pointer">{{item}}</a>
- </li>
- <li v-if="all-cur-4>0">
- <a style="cursor:not-allowed">...</a>
- </li>
- <li v-if="cur!=all">
- <a v-on:click="cur++,pageClick()" style="cursor:pointer">»</a>
- </li>
- <li v-if="cur!=all && all>10 && all-cur-4>0">
- <a v-on:click="cur=all,pageClick()" style="cursor:pointer">»»</a>
- </li>
- <li><a>Page {{cur}} of {{all}}</a></li>
- </ul>
- <script>
- var app = new Vue({
- el: '#app-4',
- data: {
- tableData: [
- ],
- checkall:false,
- checked:[]
- },
- methods: {
- handleRemove: function(index){
- this.tableData.splice(index,);
- },
- checkAll: function () {
- var _this = this
- if (this.checkall) {
- // 实现反选
- this.checked = []
- } else {
- // 实现全选
- this.checked = []
- this.tableData.forEach(function (item) {
- _this.checked.push(item.id)
- })
- }
- if (this.checked.length === this.tableData.length) {
- this.checkall = true
- // console.log(this.checkall)
- // console.log(this.checked)
- }
- }
- }
- });
- var app1=new Vue({
- el: '#page-break',
- data: {
seen: true,- cur: ,
- all: 2
- },
- watch: {
- cur: function(newValue, oldValue){
- console.log(arguments);
- }
- },
- methods: {
- btnClick(num){
- if(num!=this.cur){
- this.cur=num;
- }
- },
- pageClick(){
- console.log('现在是'+this.cur+'页')
- loaddata(this.cur);
- },
- },
- computed: {
- indexs(){
- var left = ;
- var right = this.all;
- var arr = [];
- if(this.all>=){
- if(this.cur> && this.cur<this.all-){
- left = this.cur-;
- right = this.cur+;
- }else if(this.cur<=){
- left=;
- right=;
- }else{
- left=this.all-;
- right=this.all;
- }
- }
- while(left<=right){
- arr.push(left);
- left++;
- }
- return arr;
- }
- }
- })
- function loaddata(page)
- {
- $.ajax({
- url: "@Url.Action("Data")",
- type: "Post",
- data: { pageIndex: page },
- dataType: "json",
- success: function (data) {
- app.tableData = data.rows;
- app1.all = data.total % == ? (data.total / ) : (Math.floor(data.total / ) + );
- },
- error: function (jqXHR, textStatus, errorThrown) {
- }
- });
- }
- loaddata();
- </script>
- </body>
- </html>
- public JsonResult Data(int pageIndex = , int pageSize = )
- {
- var product = new[]
- {
- new {id=,date= "2016-05-02", name= "王小虎",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-04-02", name= "王小虎2",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-06-02", name= "王小虎3",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-07-02", name= "王小虎4",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-08-02", name= "王小虎5",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-09-02", name= "王小虎6",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-10-02", name= "王小虎7",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎8",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎8",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎89",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎89",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎89",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎89",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎89",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎89",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎89",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎81",address="上海市普陀区金沙江路 1518 弄"},
- new {id=,date= "2016-11-02", name= "王小虎81",address="上海市普陀区金沙江路 1518 弄"},
- };
- return Json(new { total = product.Count(), rows = product.Skip((pageIndex - ) * pageSize).Take(pageSize).ToList() }, JsonRequestBehavior.AllowGet);
- }
vue day8 table page的更多相关文章
- 关于【vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据】的优化
之前写的[vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据]这篇博客.功能虽然实现了相对应的功能.但是用起来很不爽.所以进行了优化. 备注:最近可能没时 ...
- vue day7 table checkbox 全选
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- vue day4 table
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- vue+ element table如何给指定的单元格添加点击事件?
今天使用vue,以及element-ui这个框架时,发现业务需要在表格里加一个连接跳转,当时立刻打开element的官网,进行查看http://element-cn.eleme.io/#/zh-CN/ ...
- vue.js table组件封装
table组件 和 分页组件来自iview,在这里我根据公司业务再次做了一次封装,使用slot进行内容分发,可以随意放置input输入框和button按钮 ,再使用props向子组件传递参数,使用em ...
- vue导出table内容至excel——转
一:在项目中需要安装2个依赖项,如下命令: npm install --save file-saver xlsx 二:在vue文件中如下使用即可: <template> <div c ...
- vue的table组件
一个vue-table的组件 说明: 1.基于element-ui开发的vue表格组件. 功能: 1.支持树形数据的展示 2.行拖拽排序 3.单元格拖拽排序 github 使用方法: 1.下载npm包 ...
- ant design for vue 关于table的一些问题
1.为table添加分页: :pagination="pagination" pagination: { defaultPageSize: 10, showTotal: (tota ...
- vue的table切换
HTML: <div id="box"> <ul> <li v-for="(item,index) in items" v-tex ...
随机推荐
- php使用gearman进行任务分发
一.安装gearman 下载gearman源码包 1 https://launchpad.net/gearmand/+download 如: gearmand-1.1.12.tar.gz 下载php的 ...
- 清除冗余的css
下载旧版的火狐浏览器,如Firefox 48.0.exe, 下载地址:https://ftp.mozilla.org/pub/firefox/releases/48.0/win32/zh-CN 关闭更 ...
- 与Recommender System相关的会议及期刊
会议 We refer specifically to ACM Recommender Systems (RecSys), established in 2007 and now the prem ...
- 浅析构造函数,及public、private、protected、final、this、super关键字
初学JAVA,感觉很多知识点不熟悉,看了好多遍教材,最终还是决定把它写下来,加深印象以便忘了的时候再过来复习一下.看上去字数可能比较多,其实内容很简明. 首先看this的用法: package tes ...
- JAVA面向对象之重载与重写
重写:子类对父类方法的重新编写 返回值不变,形参不变 不能抛出新的或者范围更广的异常 class Animal{ public void move(){ System.out.println(&quo ...
- mybatis 注解的方式批量插入,更新数据
一,当向数据表中插入一条数据时,一般先检查该数据是否已经存在,如果存在更新,不存在则新增 使用关键字 ON DUPLICATE KEY UPDATE zk_device_id为主键 model ...
- 责任链模式(Chain of Responsibility)
定义:为一个请求定义含有链状关系的接受对象,基于请求的类型,松耦合发送者和接受者之间的关系. 实现方式: 首先定义一个抽象类,包括一个公共抽象行为和决定子类链状关系的属性,然后创建一系列对象继承这个抽 ...
- selenium中的alter弹框
from selenium import webdriverimport timedriver=webdriver.Chrome()driver.get('http://ui.imdsx.cn/uit ...
- OpenGL4.6+vs2017+CMake+Glad+Glfw-3.2.1+GLM随手记一发完整版OpenGL配置过程
参考自:https://blog.csdn.net/sigmarising/article/details/80470054 下载过程参考上面的链接. 下载好的OpenGL文件夹我已经做好(具体的版本 ...
- win8 tiles风格标签插件jquery.wordbox.js
http://www.html580.com/12180 jquery.wordbox.js轻松实现win8瓦片tiles式风格标签插件,只需要调用JS就能轻松实现瓦片菜单,自定义菜单背景颜色,支持响 ...