当前位置: 首页 > news >正文

jQuery EasyUI 数据网格 - 添加分页组件

下面直接给你最实用、最常见的添加分页组件(pagination)方法,jQuery EasyUI datagrid 自带超级好用的分页器,开启后自动处理分页、每页条数、跳转、刷新等,复制粘贴就能用,领导最爱的“专业报表分页”效果全都有!

方法1:最简单最常用 - 开启内置分页组件(推荐现在就用这个,3秒出效果)

<tableid="dg"class="easyui-datagrid"title="带分页的数据网格"style="width:900px;height:500px"data-options="url:'get_data.php', <!-- 后台接口返回 {total:总数, rows:[当前页数据]} --> fitColumns:true, singleSelect:false, rownumbers:true, pagination:true, <!-- 关键:开启分页 --> pageSize:20, <!-- 默认每页20条 --> pageList:[10,20,50,100] <!-- 可选每页条数下拉列表 -->"><thead><tr><thdata-options="field:'ck',checkbox:true"></th><thdata-options="field:'id',width:80">ID</th><thdata-options="field:'name',width:150">姓名</th><thdata-options="field:'age',width:80">年龄</th><thdata-options="field:'email',width:200">邮箱</th><thdata-options="field:'regdate',width:120">注册日期</th></tr></thead></table>

后台接口必须返回的标准 EasyUI JSON 格式(get_data.php 示例)

<?php$page=isset($_GET['page'])?intval($_GET['page']):1;$rows=isset($_GET['rows'])?intval($_GET['rows']):20;$start=($page-1)*$rows;// 模拟数据(实际从数据库查询)$total=358;// 总记录数$data=array();for($i=$start;$i<$start+$rows&&$i<$total;$i++){$data[]=array('id'=>$i+1,'name'=>'用户'.($i+1),'age'=>rand(18,60),'email'=>'user'.($i+1).'@example.com','regdate'=>date('Y-m-d',strtotime("-".($i%30)." days")));}echojson_encode(array('total'=>$total,'rows'=>$data));?>

效果:

  • 表格底部自动出现分页栏
  • 显示“第 1/18 页 共 358 条”
  • 支持首页/上一页/下一页/尾页、跳转页码、每页条数选择、刷新按钮

方法2:自定义分页栏外观和按钮(更专业)

$(function(){varpager=$('#dg').datagrid('getPager');// 获取分页器对象pager.pagination({pageSize:20,pageList:[10,20,50,100,200],displayMsg:'当前显示 {from} 到 {to} 条,共 {total} 条记录',// 自定义提示文字layout:['list','sep','first','prev','sep','manual','sep','next','last','sep','refresh','info'],// 自定义按钮顺序showPageList:true,// 显示每页条数下拉showRefresh:true,// 显示刷新按钮beforePageText:'第',// 页码文本框前提示文字afterPageText:'页 共 {pages} 页',buttons:[{// 在分页栏右边添加自定义按钮iconCls:'icon-excel',text:'导出Excel',handler:function(){alert('导出当前页数据到Excel');// location.href = 'export.php?page=' + pager.pagination('options').pageNumber;}},{iconCls:'icon-print',text:'打印',handler:function(){window.print();}}]});});

方法3:分页栏放在顶部或上下都有

$('#dg').datagrid({pagination:true,pagePosition:'top'// 'top' 顶部 'bottom' 底部(默认) 'both' 上下都有});

方法4:分页时保持选中状态(批量操作神器)

varselectedRows=[];// 全局保存选中行$('#dg').datagrid({onCheck:function(index,row){selectedRows.push(row);},onUncheck:function(index,row){selectedRows=selectedRows.filter(function(r){returnr.id!=row.id;});},onCheckAll:function(rows){selectedRows=selectedRows.concat(rows);},onUncheckAll:function(){// 根据当前页数据过滤},onLoadSuccess:function(data){// 加载新页时,高亮之前选中的行$.each(selectedRows,function(i,row){varindex=$(this).datagrid('getRowIndex',row);if(index!=-1){$(this).datagrid('checkRow',index);}});}});

你现在直接复制方法1的代码,准备好一个返回{total:?, rows:[]}的接口,刷新页面就能看到完美分页效果了!
结合之前的复选框 + 行内编辑 + 页脚摘要 + 子网格,你的后台数据表格已经完全专业级了。

想要我给你一个完整的HTML示例(带远程分页 + 自定义分页栏 + 导出按钮 + 跨页保持选中)?
或者你告诉我你的接口返回格式(比如已经是 {data:[], count:}),我2分钟帮你改写加载逻辑,复制就能跑!

快说说你现在的需求,我手把手帮你搞定,5分钟内看到超级专业的分页组件!

http://www.cnnetsun.cn/news/133597.html

相关文章:

  • 【小陈背八股-C++】Day04-大厂面试直击:Vector扩容机制,你真的懂STL容器吗?
  • 如何在Kotaemon中自定义评分指标进行A/B测试?
  • AI教学演示系统开发:让技术真正服务课堂
  • Python Wechaty微信机器人开发终极指南:9行代码开启智能对话新时代
  • LangGraph4J:Java开发者如何快速构建多智能体AI应用?
  • 阿里通义ReMe框架:智能体记忆的新篇章,小模型的新机遇!
  • AI智能体记忆系统全景:形式、功能与知识图谱长记忆动态机制102页综述解析!
  • 一份完整的网站改版方案必须是这样的
  • vmstat vs 现代监控工具:性能分析效率对比评测
  • 电商价格监控智能体:24小时自动比价系统
  • 游戏开发者必看:彻底解决0xc000007b启动错误的5种方案
  • 传统Cron配置 vs AI生成:效率提升300%实测
  • Next.js零基础入门:第一个项目全指南
  • 企业级应用中的SCRAM认证机制兼容性实战
  • 3分钟解锁Netflix 4K超高清画质:终极配置指南
  • Kotaemon如何识别用户意图变化?多轮对话管理揭秘
  • Python生物信息学实战:从数据到发现的完整指南
  • PostgreSQL云端即开即用:开发环境秒级搭建
  • Vue2 Props入门:5分钟学会组件通信基础
  • Next.js电商实战:从零搭建商品展示系统
  • Realistic Vision V2.0如何快速生成逼真图像?3个核心技巧深度解析
  • Simple Live直播聚合工具:跨平台一站式直播观看体验全解析
  • AI如何优化编辑分配流程:智能编辑分配系统实战
  • Mac使用idea连接svn报错svn: E230001: Server SSL certificate verification failed
  • 终极异步OTA解决方案:ESP8266/ESP32固件更新革命
  • 互联网大厂Java面试实录:水货程序员谢飞机的三面惊魂记
  • 1小时搭建Postman版本比对工具原型
  • SIM-EKB 2024安装验证:快速构建测试环境的技巧
  • 5分钟学会使用JayDeBeApi:Python与Java数据库的完美桥梁
  • 传统开发vs智能体开发:效率提升300%的对比实验