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 来快速构建一套企业级的实时数 ...
随机推荐
- iOS的四种传值方式
传值有四种方法 : 1. 属性传值 2. 单例传值 3. 代理传值 4. block传值 一.属性传值 (前-->后) 1. 后面的界面定义一个属性 存放前一个界面传过来的值 ...
- Android:开机自启动并接收推送消息
接收推送消息部分我们通过ZeroMQ实现,可以参考http://www.cnblogs.com/ilovewindy/p/3984283.html. 首先是开机自启动的功能实现,代码如下:1. ...
- 被AppStore拒绝理由(一)
July 8, 2015 at 7:06 AM 发件人 Apple 17.1 - Apps cannot transmit data about a user without obtaining th ...
- 鸟哥的Linux私房菜-----8、文件系统的装载
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVrZXdhbmd6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- HDU 5347(MZL's chemistry-打表)
MZL's chemistry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- HDU 4259(Double Dealing-lcm(x1..xn)=lcm(x1,lcm(x2..xn))
Double Dealing Time Limit: 50000/20000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- C++第11周(春)项目3 - 点类派生直线类
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759.内有完整教学方案及资源链接 [项目3 - 点类派生直线类]定义点类Poin ...
- treap平衡树
今天集训讲平衡树,就瞎搞了一下.直接下代码. #include<iostream> #include<cstdio> #include<cmath> #includ ...
- bzoj 3231 [ Sdoi 2008 ] 递归数列 —— 矩阵乘法
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3231 裸矩阵乘法. 代码如下: #include<iostream> #incl ...
- 84. ExtJS下页面显示中文乱码问题
转自:https://blog.csdn.net/wenminhao/article/details/51198981 最近在学校extjs是,使用js脚本显示中文在html页面中时,中午出现了乱码的 ...