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

相关推荐
起床学FPGA9 小时前
AI回答问题之后,会自动跳到最下面的问题
开发语言·javascript·ecmascript
默_笙12 小时前
❗ 点击计数按钮,为什么"峨眉队"也跟着重新渲染?React.memo 说:我记住了
前端·javascript
名字还没想好☜13 小时前
Next.js 用 Server Components 直连数据库:去掉 API 层的边界,和三条别踩的安全红线
前端·javascript·数据库·安全·react·next.js
Brown.alexis14 小时前
es6知识点5-自备使用
前端·javascript·es6
杨利杰YJlio15 小时前
KB5121003更新详解:安全启动证书、AI组件、资源管理器与安装验证
前端·javascript·后端
3秒一个大16 小时前
JS 数组去重全方案:从基础到通用万能去重函数
前端·javascript
晴天1616 小时前
Electron面试题-Day19
java·javascript·electron
Hilaku16 小时前
为什么跳槽涨薪 30% 的时代彻底结束了?聊聊 2026 前端薪资的天花板
前端·javascript·程序员
CoovallyAIHub17 小时前
系统越上越多、问题越查越慢,制造业厂长的真实痛点
人工智能·agent·数据可视化
大家的林语冰17 小时前
✌️ 让 Rust 再次伟大,pnpm 12 抛弃 TypeScript,移植 Rust 原地起飞!
前端·javascript·node.js