如何在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 小时前
乐吾乐大屏可视化组态软件【SQL数据源】
物联网·信息可视化·编辑器·数据可视化·大屏端
一朵梨花压海棠go3 小时前
html+js实现表格本地筛选
开发语言·javascript·html·ecmascript
一只小风华~4 小时前
Vue: Class 与 Style 绑定
前端·javascript·vue.js·typescript·前端框架
十碗饭吃不饱4 小时前
net::ERR_EMPTY_RESPONSE
java·javascript·chrome·html5
Zz_waiting.5 小时前
Javaweb - 14.6 - Vue3 数据交互 Axios
开发语言·前端·javascript·vue·axios
每天吃饭的羊6 小时前
state和ref
前端·javascript·react.js
GEO_YScsn6 小时前
Vite:Next-Gen Frontend Tooling 的高效之道——从原理到实践的性能革命
前端·javascript·css·tensorflow
GISer_Jing6 小时前
滴滴二面(准备二)
前端·javascript·vue·reactjs
摇滚侠6 小时前
Vue3入门到实战,最新版vue3+TypeScript前端开发教程,笔记03
javascript·笔记·typescript
GISer_Jing6 小时前
滴滴二面准备(一)
前端·javascript·面试·ecmascript