eas之数据融合
1.如何进行自由融合
自由融合无须指定区域,KDTable将根据指定的融合模式,融合相邻且值相等的单元。
// 自由行融合
table.getMergeManager().setMergeMode(KDTMergeManager.FREE_ROW_MERGE);
// 自由列融合
table.getMergeManager().setMergeMode(KDTMergeManager.FREE_COLUMN_MERGE);
// 自由融合
table.getMergeManager().setMergeMode(KDTMergeManager.FREE_MERGE);
指定融合必须指定区域,KDTable将不管指定区域中的单元值是否相等,强制融合指定区域的单元。
// 获取融合管理器
KDTMergeManager mm = table.getMergeManager()
// 融合指定区域
mm.mergeBlock(0, 0, 1, 1, KDTMergeManager.SPECIFY_MERGE);
// 拆分指定区域
table.getMergeManager().splitBlock(0, 0, 1, 1);
// 指定第一列不融合
table.getColumn(1).setMergeable(false);
// 指定第0行不融合
table.getRow(0).setMergeable(false);
表头融合与表体的融合类似,只要把getMergeManager改为getHeadMergeManager即可
// 表头自由行融合
table.getHeadMergeManager().setMergeMode(KDTMergeManager.FREE_ROW_MERGE);
// 表头指定融合
// 获取表头融合管理器
KDTMergeManager mm = table.getHeadMergeManager();
// 进行指定融合
mm.mergeBlock(0, 0, 1, 1, KDTMergeManager.SPECIFY_MERGE);
设置缩排
数据融合后,可以以合并单元格的方式展现,也可通过缩排的方式实现。设置列缩排后,同一列的相邻的数据将仅显示第一个,其余的显示为空单元。
// 设置行融合
table.getMergeManager().setMergeMode(KDTMergeManager.FREE_ROW_MERGE);
// 设置缩排模式
table.getMergeManager().setViewMode(KDTMergeManager.VIEW_AS_INDENTATION);
选择模式包括:
NO_SELECT(不选择)、
CELL_SELECT(单元选择)、
ROW_SELECT(行选择)、
COLUMN_SELECT(列选择)、
MULTIPLE_CELL_SELECT(多单元选择)、
MULTIPLE_ROW_SELECT(多行选择)、
MULTIPLE_COLUMN_SELECT(多列选择)
// 设置选择模式为单元选择
table.getSelectManager().setSelectMode(KDTSelectManager.CELL_SELECT);
// 获取当前选择块信息
KDTSelectBlock sb = table.getSelectManager().get();
int top = sb.getTop(); // 选择块最上边行索引
int bottom = sb.getBottom(); // 选择块最下边行索引
int left = sb.getLeft(); // 选择块最左边列索引
int right = sb.getRight(); // 选择块最右边列索引
//获取选择块的类型,类型包括
KDSelectManager.CELL_SELECT 单元格选择
KDSelectManager.ROW_SELECT 行选择,这种模式下left和right没有意义
KDSelectManager.COLUMN_SELECT 列选择,这种模式下top和bottom没有意义
KDSelectManager.TABLE_SELECT 表选择,这种模式下top、bottom、left和right都没有意义
int mode = sb.getMode();
//多选的情况,获取某个选择块信息,index是选择块的序号
KDTSelectBlock sb = table.getSelectManager().get(index);
//多选情况下,获取所有的选择块信息
KDTSelectBlock sb;
int size=table.getSelectedManager().size();//获取选择快的总数
for (int i = 0; i < size; i++){
// 获取第i个选择块
sb = table.getSelectManager().get(i);
// 遍历每个选择块的所有行
for (int j = sb.getTop(); j <= sb.getBottom(); j++){
// ...do something
}
}
crud模块
// 调用select(top, left, <当前模式>)
table.getSelectManager().select(top, left);
// 调用select(top, left, top, left, <当前模式>)
table.getSelectManager().select(top, left, mode);
// 调用select(top, left, top, left, <当前模式>)
table.getSelectManager().select(top, left, bottom, right);
// 根据选择模式选择指定区域
// 当mode为行选择模式,只有top、bottom起作用
// 当mode为列选择模式,只有left、right起作用
// 当mode为table选择模式,前四个参数不起作用
table.getSelectManager().select(top, left, bottom, right, mode);
// 添加选择块,与select一样有多个重载方法
table.getSelectManager().add(top, left, bottom, right);
// 删除选择块,index是选择块的序号
table.getSelectManager().remove(index);
// 修改当前选择块,与select一样有多个重载方法
table.getSelectManager().set(top, left, bottom, right);
eas之数据融合的更多相关文章
- reshape2 数据操作 数据融合 (melt)
前面一篇讲了cast,想必已经见识到了reshape2的强大,当然在使用cast时配合上melt这种强大的揉数据能力才能表现的淋漓尽致. 下面我们来看下,melt这个函数以及它的特点. melt(da ...
- DataPipeline丨新型企业数据融合平台的探索与实践
文 |刘瀚林 DataPipeline后端研发负责人 交流微信 | datapipeline2018 一.关于数据融合和企业数据融合平台 数据融合是把不同来源.格式.特点性质的数据在逻辑上或物理上有机 ...
- SLAM+语音机器人DIY系列:(三)感知与大脑——2.带自校准九轴数据融合IMU惯性传感器
摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...
- Atitit 数据融合merge功能v3新特性.docx
Atitit 数据融合merge功能v3新特性.docx 1.1. 版本历史1 1.2. 生成sql结果1 1.3. 使用范例1 1.4. 核心代码1 1.1. 版本历史 V2增加了replace部分 ...
- 数据融合(data fusion)原理与方法
数据融合(data fusion)原理与方法 数据融合(data fusion)最早被应用于军事领域. 现在数据融合的主要应用领域有:多源影像复合.机器人和智能仪器系统.战场和无人驾驶飞机.图 ...
- DataPipeline CTO陈肃:构建批流一体数据融合平台的一致性语义保证
文 | 陈肃 DataPipelineCTO 交流微信 | datapipeline2018 本文完整PPT获取 | 关注公众号后,后台回复“陈肃” 首先,本文将从数据融合角度,谈一下DataPipe ...
- 最新2.7版本丨DataPipeline数据融合产品最新版本发布
此次发布的2.7版本在进一步优化产品底层数据处理逻辑的同时更加注重提升用户在数据融合任务的日常管理.运行监控及资源分配等管理方面的功能增强与优化,力求帮助大家更为直观.便捷.稳定地管理数据融合任务,提 ...
- 10-Pandas之数据融合(pd.merge()、df.join()、df.combine_first()详解)
一.pd.merge() pd.merge()的常用参数 参数 说明 left 参与合并的左侧DataFrame right 参与合并的右侧DataFrame how 如何合并.值为{'left',' ...
- 搭建企业级实时数据融合平台难吗?Tapdata + ES + MongoDB 就能搞定
摘要:如何打造一套企业级的实时数据融合平台?Tapdata 已经找到了最佳实践,下文将以 Tapdata 的零售行业客户为例,与您分享:基于 ES 和 MongoDB 来快速构建一套企业级的实时数 ...
随机推荐
- RDS for MySQL Mysqldump 常见问题和处理
https://help.aliyun.com/knowledge_detail/41732.html?spm=5176.7841698.2.13.u67H3h
- 使用Keras编写GAN的入门
使用Keras编写GAN的入门 GAN Time: 2017-5-31 前言 代码 reference 前言 主要参考了网页[1]的教程,同时主要算法来自Ian J. Goodfellow 的论文,算 ...
- WCF学习笔记——契约不能少了set
我定义的WCF契约里,有一个类,里面的属性,有一个因为只读,所以只写了个get.结果客户端就报错. [DataContract] public class UserItem { public User ...
- 利用jquery将页面中所有目标为“#‘的链接改为其他URL
有一张页面草稿,开始时为了方便,里面差不多所有的<a>都指向了"#".现在要修改为另一个地址,难道要全部修改吗?用jquery 改改就好.代码如下: <scrip ...
- linux中的alsa工具与Android中的tinyalsa工具【转】
本文转载自:http://blog.csdn.net/luckywang1103/article/details/48053015 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?) ...
- B1303 [CQOI2009] 中位数图 数学
想明白算法之后特别水,因为b只有可能出现一次,所以直接在b的左右找就行了,比他大的为1,比他小的为-1,然后维护前缀和就行了. 假如b有可能出现多次呢?按照这种方法好像也很好办,就是枚举每个点就行了, ...
- bzoj 1556 墓地秘密 —— 状压DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1556 预处理出两个障碍四个方向之间的距离(转弯次数),就可以状压DP了: 但预处理很麻烦.. ...
- EOJ 1641/UVa The SetStack Computer
Background from Wikipedia: “Set theory is a branch of mathematics created principally by the German ...
- tensorflow在windows操作系统上的安装
在电脑上安装PyCharm和Python3,然后把Python3的安装路径写进系统变量里,Python安装完之后, https://bootstrap.pypa.io/get-pip.py,把这页的代 ...
- 5.27 indeed 第三次网测
1. 第一题, 没有看 2. 暴力枚举.每一个部分全排列, 然后求出最大的请求数. #include<bits/stdc++.h> #define pb push_back typedef ...