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 来快速构建一套企业级的实时数 ...
随机推荐
- MVC.Net:WebAPI添加对jsonP的支持
在某些情况下,我们需要在WebAPI项目中添加对jsonP的支持.比如我们同时创建了MVC.Net和WebAPI两个项目,这两个项目使用不同的端口,这时如果MVC.Net项目的前端想要直接访问WebA ...
- PHP array_intersect_assoc()
定义和用法 array_intersect_assoc() 函数返回两个或多个数组的交集数组. 与 array_intersect() 函数 不同的是,本函数除了比较键值,还比较键名.返回的数组中元素 ...
- java 执行可执行文件时提示“could not find or load main class ”的问题
- Apache + Tomcat + JK 集群
原文请见http://www.cnblogs.com/dennisit/p/3370220.html 本文介绍了集群和负载均衡的基本开源实现,实现了用Apache分发请求到多个Tomcat里面相应的应 ...
- hive学习路线
hive学习路线图:
- Lucene 4.0 TieredMergePolicy
默认的merge policy. findMerges: 先将全部段依照扣除删除文档之后的字节数(bytesize * (1.0 - delRatio))降序排,对当中size() > 2.5G ...
- oc64--协议2@protocol
// // SportProtocol.h // day17 // #import <Foundation/Foundation.h> @protocol SportProtocol &l ...
- oc60--Category 分类 练习
// main.m // Category练习 #import <Foundation/Foundation.h> #import "NSString+NJ.h" // ...
- SpringMVC之DispatcherServlet详解
SpringMVC是一种基于请求启动的WEB框架,并且使用了前端控制器的设计模式,所有满足[WEB-INF/web.xml]文件中的[url-pattern]的匹配条件的请求,这些满足的请求都会交给这 ...
- E20170911-hm
specification n. 规格; 说明书; 详述;