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 来快速构建一套企业级的实时数 ...
随机推荐
- AVPlayer的使用,带缓冲
#import "ViewController.h" #import <AVFoundation/AVFoundation.h> @interface ViewCont ...
- input子系统驱动学习之中的一个
刚開始学习linux这门课就被分配编写一个设备的input子系统驱动.这对我的确有点困难.只是实际的操作中发现困难远比我想象的要大的多.本以为依照老师课上的步骤就行非常快的完毕这项任务.后来发 ...
- ubuntu系统启动qtceator时提示:Qt5.5.1/Tools/QtCreator/lib/qtcreator/plugins/libHelp.so: 无法加载库
在ubuntu系统下安装好qt5.5后启动qtceator时提示:Qt5.5.1/Tools/QtCreator/lib/qtcreator/plugins/libHelp.so: 无法加载库Qt5. ...
- 2本Hadoop技术内幕电子书百度网盘下载:深入理解MapReduce架构设计与实现原理、深入解析Hadoop Common和HDFS架构设计与实现原理
这是我收集的两本关于Hadoop的书,高清PDF版,在此和大家分享: 1.<Hadoop技术内幕:深入理解MapReduce架构设计与实现原理>董西成 著 机械工业出版社2013年5月出 ...
- Java -JVM:JVM百科
ylbtech-Java -JVM:JVM百科 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机 ...
- linux下sh语法(转载)
介绍: 1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序. 在这个例子中我们使用/bin/sh来执行程序. 当编写 ...
- 5.30dao-service-controller层,mybatis自动生成。(获取根据id主键获取指定详细数据)
获取权限详细数据:(参考) 1.controller:1.注入Servcie调用方法findConsumerById(参数是id); ...
- PHP开发笔记(三)关于PHP伪静态的问题总结
Apache 第一个问题就是关于PHPStudy集成Apache环境下5.5版本以上”No input file specified“问题. 针对TP5框架,以下是.htaccess文件的配置,PHP ...
- reduce多种方法计算数组中某个值的出现次数
先来了解下reduce用法 arr.reduce(callback[, initialValue]) callback执行数组中每个值的函数,包含四个参数: accumulator 累计器累计回调的返 ...
- vue.js $set的使用 数组
[javascript] view plain copy <!DOCTYPE html> <html lang="en"> <head> < ...