如何在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...

相关推荐
zwjapple38 分钟前
Next.js 中使用 MongoDB 完整指南
开发语言·javascript·mongodb
像素之间41 分钟前
elementui中rules的validator 用法
前端·javascript·elementui
小高00744 分钟前
🚀把 async/await 拆成 4 块乐高!面试官当场鼓掌👏
前端·javascript·面试
2401_837088501 小时前
AJAX快速入门 - 四个核心步骤
前端·javascript·ajax
无羡仙1 小时前
当点击链接不再刷新页面
前端·javascript·html
雲墨款哥1 小时前
为什么我的this.name输出了空字符串?严格模式与作用域链的微妙关系
前端·javascript·面试
jqq6661 小时前
Vue3脚手架实现(十、补之前配置)
前端·javascript·vue.js
小螺号dididi吹2 小时前
【React】状态管理
前端·javascript·react.js
代码的余温2 小时前
React Refs:直接操作DOM的终极指南
前端·javascript·react.js
一只小风华~3 小时前
JavaScript 定时器
开发语言·前端·javascript·vue.js·web