angulatJs 前端数据分页展示——例
注:css用的是amazeui
html:
···
<div style="height:500px;overflow: auto;">
<table class="am-table" style="width:100%;padding: 10px 30px ">
<tr>
<td>序号</td>
<td>姓名</td>
<td>电话</td>
<td>年龄</td>
</tr>
<tr ng-repeat="items in list" class="gradeX">
<td>{{$index+1}}</td>
<td>{{items.name}}</td>
<td>{{items.tel}}</td>
<td>{{items.age}}</td>
</tr>
</table>
</div>
<ul class="am-pagination am-pagination-right">
<li ng-class="{true:'am-disabled'}[ 1 == currentPage]"><a href ng-click="firstPage()">首页</a></li>
<li ng-class="{true:'am-disabled'}[ 1 == currentPage]"><a href ng-click="prevPage()">上一页</a></li>
<li ng-class="pageTool_fun({{n}},'1')" ng-repeat="n in pageToolCursor"><a id="{{n}}" href ng-click="gotoXpage(n)">{{n}}</a></li>
<li><a>共{{itemsPerPage}}页 ({{totalRow}}条数据)</a></li>
<li ng-class="{true:'am-disabled'}[ (currentPage) == itemsPerPage]"><a href ng-click="nextPage()">后一页</a></li>
<li ng-class="{true:'am-disabled'}[ (currentPage) == itemsPerPage]"><a href ng-click="lastPage()">尾页</a></li>
</ul>
···
js:
···
var reqUrl = '***';
var dataObj = { //针对个人后台的请求数据,根据情况修改
'pageNumber': 1,
'pageSize': 10,
'id': ''
} $scope.list = [];
$scope.currentPage = 1; //当前页
$scope.totalRow = 0; //总条数
$scope.itemsPerPage = 0; //总页数
$scope.pageToolCursor = []; //截取的页码
//首页
$scope.firstPage = function() {
dataObj.pageNumber = 1;
$http({
method: 'get',
params: {
param: $.toJSON(dataObj) //针对个人用params传参
},
data: {},
url: reqUrl
})
.success(function(response, status, headers, config) {
var rstate = response.result;
if (rstate == '0') {
var _data = response.message;
$scope.list = _data.list;
$scope.currentPage = _data.pageNumber;
$scope.totalRow = _data.totalRow;
$scope.itemsPerPage = _data.itemsPerPage;
//初始化页码下标,最多只取前9页
var itemsNum = 9;
if ($scope.itemsPerPage < 9) {
itemsNum = $scope.itemsPerPage;
}
for (i = 1; i <= itemsNum; i++) {
$scope.pageToolCursor.push(i);
}
} else {
alert('获取数据失败!');
}
})
.error(function(response, status, headers, config) {
alert('获取数据失败..');
});
} //上一页
$scope.prevPage = function() {
if (!($scope.currentPage == 1)) {
var reqpages = $scope.currentPage - 1;
dataObj.pageNumber = reqpages;
$http({
method: 'get',
params: {
param: $.toJSON(dataObj)
},
data: {},
url: reqUrl
})
.success(function(response, status, headers, config) {
var rstate = response.result;
if (rstate == "0") {
var _data = response.message;
$scope.list = _data.list;
$scope.currentPage = _data.pageNumber;
$scope.totalRow = _data.totalRow;
$scope.itemsPerPage = _data.itemsPerPage;
var pageToolCursor = $scope.pageToolCursor;
if ($scope.currentPage <= pageToolCursor[0]) {
if (pageToolCursor[0] == 1) {return;
}
var arrayObj = new Array();
if ($scope.currentPage < 9) {
$scope.pageToolCursor = ['1', '2', '3', '4', '5', '6', '7', '8', '9']; } else {
for (i = $scope.currentPage; i > $scope.currentPage - 9; i--) {
arrayObj.unshift(i);
}
$scope.pageToolCursor = arrayObj;
}
}
} else {
alert("获取数据失败 !");
}
}).error(function(response, status, headers, config) {
alert('获取数据失败..');
});
}
}; //下一页
$scope.nextPage = function() {
if (!($scope.currentPage == $scope.itemsPerPage)) {
var reqpages = $scope.currentPage + 1;
dataObj.pageNumber = reqpages;
$http({
method: 'get',
params: {
param: $.toJSON(dataObj)
},
data: {},
url: reqUrl
})
.success(function(response, status, headers, config) {
var rstate = response.result;
if (rstate == "0") {
var _data = response.message;
$scope.list = _data.list;
$scope.currentPage = _data.pageNumber;
$scope.totalRow = _data.totalRow;
$scope.itemsPerPage = _data.itemsPerPage;
var pageToolCursor = $scope.pageToolCursor;if ($scope.currentPage >= pageToolCursor[pageToolCursor.length - 1]) {
if (pageToolCursor[pageToolCursor.length - 1] == $scope.itemsPerPage) {
return;
}
var arrayObj = new Array();
var enditems = 0;
var compareNUm = $scope.itemsPerPage - pageToolCursor[pageToolCursor.length - 1];
if (compareNUm < 9 && compareNUm > 0) {
enditems = $scope.itemsPerPage - pageToolCursor[pageToolCursor.length - 1];
for (i = $scope.currentPage + enditems; i > $scope.currentPage + enditems - 9; i--) {
arrayObj.unshift(i);
}
} else {
enditems = 9;
for (i = $scope.currentPage; i < $scope.currentPage + enditems; i++) {
arrayObj.push(i);
}
}
$scope.pageToolCursor = arrayObj;
}
} else {
alert("获取数据失败!");
}
})
.error(function(response, status, headers, config) {
alert('获取数据失败..');
});
} }; //尾页
$scope.lastPage = function() {
if ($scope.currentPage == $scope.itemsPerPage) {
return;
}
var reqpages = $scope.itemsPerPage;
dataObj.pageNumber = reqpages;
$http({
method: 'get',
params: {
param: $.toJSON(dataObj)
},
data: {},
url: reqUrl
})
.success(function(response, status, headers, config) {
var rstate = response.result;
if (rstate == "0") {
var _data = response.message;
$scope.list = _data.list;
$scope.currentPage = _data.pageNumber;
$scope.totalRow = _data.totalRow;
$scope.itemsPerPage = _data.itemsPerPage;
var arrayObj = new Array();
if ($scope.itemsPerPage > 9) {
for (i = $scope.itemsPerPage; i > $scope.itemsPerPage - 9; i--) {
arrayObj.unshift(i);
}
$scope.pageToolCursor = arrayObj;
}
} else {
alert("获取数据失败!");
}
})
.error(function(response, status, headers, config) {
alert('获取数据失败..');
});
}; //按页面 进入对应页
$scope.gotoXpage = function(x) {
if (x > $scope.itemsPerPage) {
return;
}
var reqpages = x;
dataObj.pageNumber = reqpages;
$http({
method: 'get',
params: {
param: $.toJSON(dataObj)
},
data: {},
url: reqUrl
})
.success(function(response, status, headers, config) {
var rstate = response.result;
if (rstate == "0") {
var _data = response.message;
$scope.list = _data.list;
$scope.currentPage = _data.pageNumber;
$scope.totalRow = _data.totalRow;
$scope.itemsPerPage = _data.itemsPerPage;
} else {
alert("获取数据失败!");
}
})
.error(function(response, status, headers, config) {
alert('获取数据失败..');
}); };
//设置页码 - 当前页 高亮显示
$scope.pageTool = function(n) {
var currentPage = $scope.currentPage;
var returStr = "";
if (n == currentPage) {
returStr = "am-active";
}
if (n > $scope.itemsPerPage) {
returStr = "am-disabled";
}
return returStr;
};
···
angulatJs 前端数据分页展示——例的更多相关文章
- js静态数据分页展示
拿vue做示例 首先定义data data() { return { tableData: [], // 当前页的数据,用于给表格展示用的 tableDataAll: [], // 需要拿来分页的总数 ...
- ssh整合问题总结--使用HibernateTemplate实现数据分页展示
在进行大量的数据展示时,必须要使用分页查询,第一次使用在SSH框架整合中使用分页查询,遇到了一些问题,下面以我练习的项目为例详细介绍,如何在Spring+hibernate(+action)的环境下完 ...
- vue中使用分页组件、将从数据库中查询出来的数据分页展示(前后端分离SpringBoot+Vue)
文章目录 1.看实现的效果 2.前端vue页面核心代码 2.1. 表格代码(表格样式可以去elementui组件库直接调用相应的) 2.2.分页组件代码 2.3 .script中的代码 3.后端核心代 ...
- Antd 表格数据分页展示
分页组件代码 render(){ const {total,size,currenPage} = this.state // 参数分别为数据总条数.每页数据条数.当前页页码 return ( // 渲 ...
- Python通过分页对数据进行展示
# 通过分页对数据进行展示 """ 要求: 每页显示10条数据 让用户输入要查看的页面:页码 """ USER_LIST = [] for ...
- MySQL+Service+Servlet+Jsp实现Table表格分页展示数据
下面以一个示例讲解如何使用MySQL+Service+Servlet+Jsp实现Table表格分页展示数据: eg:请假管理系统 要求如下: 一.打开首页页面, 访问查询请假记录的 servlet , ...
- js 从一个json拼接成另一个json,并做json数据分页table展示
先给数据: //原始json数据json = [{"id":"1","aid":"013","performa ...
- ThinkPHP快速实现数据分页(前端/后端分离)
数据 分页 可能是web 编程里最常用到的功能之一.thinkphp 实现分页功能十分简洁.只需要定义 几个参数 就能搞定.当然,扩展也是十分方便的. 让我们现在就开始thinkphp的分页实现吧. ...
- Handlebars的基本用法 Handlebars.js使用介绍 http://handlebarsjs.com/ Handlebars.js 模板引擎 javascript/jquery模板引擎——Handlebars初体验 handlebars.js 入门(1) 作为一名前端的你,必须掌握的模板引擎:Handlebars 前端数据模板handlebars与jquery整
Handlebars的基本用法 使用Handlebars,你可以轻松创建语义化模板,Mustache模板和Handlebars是兼容的,所以你可以将Mustache导入Handlebars以使用 Ha ...
随机推荐
- 天天用Synchronized,底层原理是个啥?
作者:liuxiaopeng https://www.cnblogs.com/paddix/p/5367116.html Synchronized 的基本使用 Synchronized 的作用主要有三 ...
- 关于禁止微信端webapp内部下拉出现QQ浏览器的问题
<!DOCTYPE html> <html> <head> <title></title> </head> <style ...
- linux下又一次定位svn url方法
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/oudahe/article/details/34437661 linux下又一次定位svn url方 ...
- Java常见的开源数据连接池有哪些,并对参数做出简单的说明
(1)DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序中使用,Tomcat的数据源使用的就是DBCP. (2)c3p0 c3p ...
- HIVE常用函数(1)聚合函数和序列函数
SUM--sum(汇总字段) over (partition by 分组字段 order by 排序字段) 如果不指定ROWS BETWEEN,默认为从起点到当前行;如果不指定ORDER BY,则将分 ...
- 【Jenkins、sonar】
1.Jenkins入门(一)安装Jenkins 2.Jenkins入门(二)部署java项目 3.Jenkins远程部署SpringBoot应用 4.配置sonar.jenkins进行持续审查 5.S ...
- Robot Framework:接口测试
---恢复内容开始--- robotframework进行接口测试,需要安装Request和RequestLibrary包 pip install requests pip install -U ro ...
- sql 链接查询
连接查询是另一种类型的多表查询.连接查询对多个表进行JOIN运算,简单地说,就是先确定一个主表作为结果集,然后,把其他表的行有选择性地“连接”在主表结果集上. 例如,我们想要选出students表的所 ...
- PHP FILTER_SANITIZE_STRIPPED 过滤器
定义和用法 FILTER_SANITIZE_STRIPPED 过滤器去除或编码不需要的字符. 该过滤器是 FILTER_SANITIZE_STRING 过滤器的别名 该过滤器删除那些对应用程序有潜在危 ...
- iptables对请求的URL作IP访问控制
服务器运行环境是Tomcat,现在要实现的目的是,只允许特定的IP访问某个目录,一种方法是在tomcat配置文件server.conf中,使用RemoteAddrValve对虚拟主机做访问控制.另外一 ...