DataGear 制作服务端分页的数据可视化图表
DataGear 2.3.0 版本新增了附件图表数据集特性(在新建图表时将关联的数据集设置为 附件 ,具体参考官网文档定义图表章节),在制作看板时,可以基于此特性,结合dg-chart-listener,利用服务端数据扩展图表功能。本文以表格图表为例,介绍基于此特性制作服务端分页的数据可视化图表。
首先,新建两个SQL数据集。
第一个数据集查询服务端分页数据,它是一个参数化数据集:
名称:
服务端分页-数据
SQL:
select
*
from
t_analysis
order by NAME asc
limit ${index}, ${size}
参数:
名称 类型 必填 描述
index 数值 是 页索引
size 数值 是 页大小
第二个数据集查询总记录数:
名称:
服务端分页-总记录数
SQL:
select count(*) as total from t_analysis
参数:
无
然后,新建一个图表,并关联上述两个数据集:
名称:
服务端分页表格
类型:
基本表格
数据集:
1. 服务端分页-数据
2. 服务端分页-总记录数(勾选【附件】单选框)
最后,新建一个看板,引入上述图表,添加分页扩展代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.dg-dashboard{
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
}
.dg-chart{
display: inline-block;
width: 100%;
height: 400px;
}
.chart-wrapper{
display: inline-block;
width: 80%;
margin-left: 10%;
padding: 2em 0em;
border: 1px solid #ccc;
}
#pagination{
text-align: center;
}
.pagination-button{
border: 1px solid #333;
border-radius: 5px;
margin: 0 0.5em;
padding: 0.5em 1.5em;
}
.pagination-current{
background: blue;
color: white;
}
.pagination-info{
padding-left: 1em;
}
</style>
<script type='text/javascript'>
var pageSize = 5;
var chartListener=
{
update: function(chart, results)
{
//获取第一个附件数据集(服务端分页-总记录数)中的总记录数
var chartDataSet = chart.chartDataSetFirst(true);
var totalResult = chart.resultOf(results, chartDataSet);
var total = chart.resultCell(totalResult, "total", 0);
//计算总页数
var pages = (total%pageSize == 0 ? parseInt(total/pageSize) : parseInt(total/pageSize)+1);
//获取当前页索引
var currentIndex = chart.dataSetParamValue(0, 0);
//绘制分页按钮
var $pg = $("#pagination");
$pg.empty();
for(var i=1; i<=pages; i++)
{
var myIndex = (i-1)*pageSize;
$("<button class='pagination-button' />").attr("page-index", myIndex)
.addClass(currentIndex == myIndex ? "pagination-current" : "")
.html(i).appendTo($pg);
}
$("<span class='pagination-info' />").html("共"+pages+"页,"+total+"条记录").appendTo($pg);
}
};
function refreshChart(index)
{
var chart = dashboard.getChart(0);
//设置第一个数据集的页索引、页大小参数值
chart.dataSetParamValues(0, { index: index, size: pageSize });
//刷新图表数据
chart.refreshData();
}
$(function()
{
//加载第一页
refreshChart(0);
$("#pagination").on("click", ".pagination-button", function()
{
var index = parseInt($(this).attr("page-index"));
refreshChart(index);
});
});
</script>
</head>
<body class="dg-dashboard">
<div class="chart-wrapper">
<div class="dg-chart"
dg-chart-disable-setting="true"
dg-chart-listener="chartListener"
dg-chart-widget="上述图表ID">
</div>
<div id="pagination"></div>
</div>
</body>
</html>
点击[保存并展示]按钮,打开看板展示页面,完成!!!
效果图如下所示:
同样,服务端分页的柱状图效果图如下所示:
源码地址:
Gitee:https://gitee.com/datagear/datagear

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Windows环境下老显卡跑PyTorch GPU版本
Windows环境下老显卡跑PyTorch GPU版本 从pytorch 1.3开始 不再支持GPU的算力在3.5及其以下的显卡。这时,你只能安装1.2版本的官方Pytorch。如果够用就安装它吧,省心省力。但是如果你要用其它包需要更高版本的torch支持,比如:torch geometric需要至少1.4版本。你只能使用官方的CPU版本,因为官方的版本不再直接支持GPU算力3.5以下版本,简化版本的分发(Torch已经很大了)。到了Torch 1.7时,GPU算力至少要达到5.2。 这时,我们需要在Windows上重新编译Pytorch 源码,得到适合自己显卡的Torch。在编译时,系统会自动把GPU算力下限设为当前机器显卡的算力,比如GT 730M 1G 显卡算力为3.5。 参考:https://blog.csdn.net/qq_43051923/article/details/108393510 下面以Torch 1.7为例来说明整个操作过程。 1. 编译工具和第三方库 1.1 Visual studio 2019 原帖子上说最新的VS 2019有点问题,我并没有去证实。但是个人...
-
下一篇
Prometheus时序数据库-数据的查询
Prometheus时序数据库-数据的查询 前言 在之前的博客里,笔者详细阐述了Prometheus数据的插入过程。但我们最常见的打交道的是数据的查询。Prometheus提供了强大的Promql来满足我们千变万化的查询需求。在这篇文章里面,笔者就以一个简单的Promql为例,讲述下Prometheus查询的过程。 Promql 一个Promql表达式可以计算为下面四种类型: 瞬时向量(Instant Vector) - 一组同样时间戳的时间序列(取自不同的时间序列,例如不同机器同一时间的CPU idle) 区间向量(Range vector) - 一组在一段时间范围内的时间序列 标量(Scalar) - 一个浮点型的数据值 字符串(String) - 一个简单的字符串 我们还可以在Promql中使用svm/avg等集合表达式,不过只能用在瞬时向量(Instant Vector)上面。为了阐述Prometheus的聚合计算以及篇幅原因,笔者在本篇文章只详细分析瞬时向量(Instant Vector)的执行过程。 瞬时向量(Instant Vector) 前面说到,瞬时向量是一组拥有同样...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Hadoop3单机部署,实现最简伪集群
- MySQL数据库在高并发下的优化方案