如何在DataGear 5.4.1 中快速制作HTTP数据源服务端分页的数据表格看板

DataGear 数据可视化分析平台( datagear.tech ) 在新发布的5.4.1版本中,HTTP数据集新增了附加数据功能,可配置读取HTTP数据源JSON响应中的部分数据作为数据集附加数据,结合内置表格图表新增的serverSidePaging选项功能,仅需通过简单的配置,即可为表格添加HTTP数据源服务端分页功能。

本文将介绍如何通过上述特性制作支持服务端分页、关键字查询、单字段排序的HTTP数据源服务端分页数据表格看板。

假设有HTTP数据源,访问地址为http://192.16.1.1:8080/api/data,接受如下分页查询JSON请求体参数:

javascript 复制代码
{
  pageIndex: 数值,  //页索引,以0开头
  pageLength: 数值,  //页大小
  searchKeyword: "...",  //可选,查询关键字
  order:{  //可选,排序信息
    name: "...",  //排序名
    direction: "..."  //排序方向:"asc"、"desc"
  }
}

返回如下分页查询结果:

javascript 复制代码
{
  datas: [ { ... }, ... ], //页数据
  totalRecords: 数值,  //总记录数
  ...
}

首先,新建一个HTTP数据集HTTP分页查询,从上述数据源中读取数据:

请求体类型:JSON载荷

请求体:

javascript 复制代码
{
  pageIndex: ${分页索引},
  pageLength: ${分页大小},
  searchKeyword: <#if 查询关键字??>"${查询关键字}"<#else>null</#if>,
  <#if 排序名??>
  order:{
    name: "${排序名}",
    direction: "${排序方向}"
  }
  </#if>
}

响应数据JSON路径:datas

响应附加数据配置:{ total: "totalRecords" }

参数:

复制代码
名称           类型      必填
分页索引       数值       是
分页大小       数值       是
查询关键字     字符串     否
排序名         字符串     否
排序方向       字符串     否

上述响应附加数据配置{ total: "totalRecords" }表示:将HTTP数据源中的totalRecords设置为以total标识的数据集附加数据

然后,新建一个HTTP分页查询表格表格图表,绑定上述HTTP分页查询数据集:

编辑其【图表选项】,通过serverSidePaging选项将其配置为分页查询表格,具体内容为:

js 复制代码
{
  lengthMenu: [5, 10, 20],
  ordering: true,
  order: [[ 0, 'asc' ]],
  searching: true,
  search: { 'return': true },
  disableSetting: true,
  serverSidePaging: {
    param: function(data, chart){
      chart.dataSetParamValues(0, [
              data.start, data.length,
              (data.search.value ? data.search.value : null), 
              (data.order[0] ? data.order[0].name : null),
              (data.order[0] ? data.order[0].dir : null)
          ]);
    },
    totalAdditionName: "total"
  }
}

上述配置项详细说明请参考DataGear官网文档【dg-chart-options】章节

点击【保存并展示】按钮,打开图表展示页,服务端分页表格制作完成!

官网地址:

www.datagear.tech

源码地址:

GitCode:gitcode.com/datageartec...

Gitee:gitee.com/datagear/da...

Github:github.com/datageartec...

相关推荐
豆苗学前端3 分钟前
彻底讲透浏览器缓存机制,吊打面试官
前端·javascript·面试
swipe13 分钟前
箭头函数与 this 面试题深度解析:从原理到实战
前端·javascript·面试
进击的尘埃2 小时前
拖拽搭建场景下的智能布局算法:栅格吸附、参考线与响应式出码
javascript
小猪努力学前端2 小时前
基于PixiJS的试玩广告开发-续篇
前端·javascript·游戏
wuhen_n2 小时前
v-model 的进阶用法:搞定复杂的父子组件数据通信
前端·javascript·vue.js
wuhen_n2 小时前
TypeScript 深度加持:让你的组合式函数拥有“钢筋铁骨”
前端·javascript·vue.js
滕青山3 小时前
基于 ZXing 的 Vue 在线二维码扫描器实现
前端·javascript·vue.js
swipe3 小时前
深入理解 JavaScript 中的 this 绑定机制:从原理到实战
前端·javascript·面试
兆子龙3 小时前
前端哨兵模式(Sentinel Pattern):优雅实现无限滚动加载
前端·javascript·算法
豆苗学前端4 小时前
彻底讲透浏览器渲染原理,吊打面试官
前端·javascript·面试