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之数据融合的更多相关文章

  1. reshape2 数据操作 数据融合 (melt)

    前面一篇讲了cast,想必已经见识到了reshape2的强大,当然在使用cast时配合上melt这种强大的揉数据能力才能表现的淋漓尽致. 下面我们来看下,melt这个函数以及它的特点. melt(da ...

  2. DataPipeline丨新型企业数据融合平台的探索与实践

    文 |刘瀚林 DataPipeline后端研发负责人 交流微信 | datapipeline2018 一.关于数据融合和企业数据融合平台 数据融合是把不同来源.格式.特点性质的数据在逻辑上或物理上有机 ...

  3. SLAM+语音机器人DIY系列:(三)感知与大脑——2.带自校准九轴数据融合IMU惯性传感器

    摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...

  4. 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部分 ...

  5. 数据融合(data fusion)原理与方法

    数据融合(data fusion)原理与方法 数据融合(data fusion)最早被应用于军事领域.     现在数据融合的主要应用领域有:多源影像复合.机器人和智能仪器系统.战场和无人驾驶飞机.图 ...

  6. DataPipeline CTO陈肃:构建批流一体数据融合平台的一致性语义保证

    文 | 陈肃 DataPipelineCTO 交流微信 | datapipeline2018 本文完整PPT获取 | 关注公众号后,后台回复“陈肃” 首先,本文将从数据融合角度,谈一下DataPipe ...

  7. 最新2.7版本丨DataPipeline数据融合产品最新版本发布

    此次发布的2.7版本在进一步优化产品底层数据处理逻辑的同时更加注重提升用户在数据融合任务的日常管理.运行监控及资源分配等管理方面的功能增强与优化,力求帮助大家更为直观.便捷.稳定地管理数据融合任务,提 ...

  8. 10-Pandas之数据融合(pd.merge()、df.join()、df.combine_first()详解)

    一.pd.merge() pd.merge()的常用参数 参数 说明 left 参与合并的左侧DataFrame right 参与合并的右侧DataFrame how 如何合并.值为{'left',' ...

  9. 搭建企业级实时数据融合平台难吗?Tapdata + ES + MongoDB 就能搞定

      摘要:如何打造一套企业级的实时数据融合平台?Tapdata 已经找到了最佳实践,下文将以 Tapdata 的零售行业客户为例,与您分享:基于 ES 和 MongoDB 来快速构建一套企业级的实时数 ...

随机推荐

  1. axis实现webservices分布式通信

    分布式通信原理 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2ZsMjAxMjEzMTQ=/font/5a6L5L2T/fontsize/400/fil ...

  2. crm使用soap启用和停用记录

    function demo() {     //操作记录的id     var targetId = "a8a46444-ba10-e411-8a04-00155d002f02"; ...

  3. java的list类

    java的list类 目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断 ...

  4. hdu 6082 度度熊与邪恶大魔王(2017"百度之星"程序设计大赛 - 资格赛 )

    度度熊与邪恶大魔王 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  5. iOS获取相册/相机图片-------自定义获取图片小控件

    一.功能简介 1.封装了一个按钮,点击按钮,会提示从何处获取图片:如果设备支持相机,可以从相机获取,同时还可以从手机相册获取图片. 2.选择图片后,有一个block回调,根据需求,将获得的图片拿来使用 ...

  6. 第16课 “远程 Git文档库” 的基础操作

    16-1  “远程Git文档库”  的功能 如果  “本地Git文档库” 和  “远程Git文档库”  是存储在不同的计算机中,它们之前传送数据可以通过HTTP/HTTPS.SSH.GIT proto ...

  7. PCB MongoDB 数据库 Collection集合导出与导入

    由于一直以来用微软可视化图形界面习惯了,而MongoDB是命令式操作,而用系统自带CMD操作不方便, 这里介绍一款CMD的替代品,大小100多M. Cmder工具下载  https://github. ...

  8. 在linux服务器centos上使用svn同步代码到项目中

    一.需求 1.在多人开发过程中代码的管理以及版本的控制是一个很重要的问题,因为在开发过程中我们可能会同时更改过某个文件或者更改过多个文件, 这会导致我们很容易发生错误.所以我们需要一个方式去管理我们的 ...

  9. Too Many open files 问题排查

    问题描述:使用netty做性能测试时,并发过大造成Too Many open files问题 该类错误是因为linux系统对socket连接时需要打开的文件句柄数有限制可以通过ulimit -a 查看 ...

  10. 关于TJOI2014的一道题——Alice and Bob

    B Alice and Bob •输入输出文件: alice.in/alice.out •源文件名: alice.cpp/alice.c/alice.pas • 时间限制: 1s 内存限制: 128M ...