GridManager - Demo 在线API
在HTML中提供一个table
<table id='table-demo-baseCode'></table>
ajax代码,获取table 实现数据显示
ajaxData: 是请求路径
supportAjaxPage: true 开启分页
一些关键字与页数配置
ajaxType: 'POST',
pageSizeKey:'pageSize',
currentPageKey:'currentPage',
pageSize:5,
sizeData:[5,10,15,20,30],
document.querySelector('#table-demo-promiseCode').GM({
gridManagerName: 'demo-promiseCode',
supportAdjust: false,
supportDrag: false,
ajaxData: (settings, params) => {
const url = 'https://www.lovejavascript.com/learnLinkManager/getLearnLinkList';
// 返回一个promise
return fetch(url).then(res => res.json());
},
columnData: [
{
key: 'name',
text: '名称'
},{
key: 'info',
text: '说明'
},{
key: 'url',
text: 'url'
}
]
});
页面请求是自动发送两个参数到后端 pagesizeKey(当前每页展示条数),currentpageKey(当前页数值) 后端可用封装好的分页基本类去实现接收 基本类可以作为高级查询类的父类,实现高级查询 查询类因为继承了分页所以查询结果时,会自带分页参数。
利用 limit 取得起始位置 基本查询类中 提供get star 可读bean属性
返回this.currentPage-1)*this.pageSize 前端传入的是当前页数值,所以需要做处理,取得当前页的数据起始值 如 前端为分页的第一页 则传递currentpagesize 为 1 ,如果pagesize为5的话,查询的是 第0-5 条数据。
另外 展示值必须按照GM 自己的格式,后端需要按照格式封装数据,所以会有自定义result工具类
里面两个字段 List<T> data Integer totals 总条数和查询结果 当前端值过来的时候,后端需要去查总条数 和data 返回给前端,前端GM根据字段key值展示数据
高级查询
需要前端获取表单信息 给搜索按钮添加点击事件触发后 setQuery 到后端 ,后端动态sql 判断条件并拼接SQL