介绍自定义JDataGrid电子表格版本公式中的函数?

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

How to write function in JDataGrid Spreadsheet Edition?

1. Understand the formula and function API used in JDataGrid Spreadsheet Edition?

Obviously you should understand the “Function” and it’s sub class.
  The central method of Function interface is “Object evaluate(FormulaContext ctx, List args)”, the method have the “FormulaContext” and List based arguments.

  Override the method “evaluate(FormulaContext ctx, List args)” and write your logic in the method body, finally return the result, you can override the AbstractFunction directly or implements the Function interface, don’t forget invoke super(name) when use AbstractFuction.

  Note: The important point need to mention is you should invoke the method “CellUtils.getObject”, “CellUtils.stringValue” to get every argument’s value, this is impossible before the JDataGrid Spreedsheet Edition 2.5.0, since the CellUtils is package private, the developer need copy the “CellUtils” class before the version 2.5.0, the good news is the API now open to public after version 2.5.0.

2. Add the function to the FormulaFactory.

 The FormulaFactory provides the several methods to add or remove the function.

 FormulaFactory.addFunction(Function);
FormulaFactory. removeFunction(String);
FormulaFactory. getAllFunctionNames();
FormulaFactory. getFunction(String);

The function you added will be the CellFunctionType.CUSTOM by default, these functions will be lists in “Custom” category in the choose function dialog, this is a new feature in JDataGrid 2.5.0.

insert-function-dialog


查看原文


1386853.html?type=1

--------------------------
新闻: 国际知识产权联盟公布盗版重点观察国名单
导航: 博客园首页   知识库   新闻   招聘   社区   小组   博问   网摘   找找看

转载于:https://my.oschina.net/javastudy/blog/27

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新研究!新冠病毒被定义为“大流行”背后,竟然还藏着这样凶险的大杀器?...

全世界只有3.14 % 的人关注了爆炸吧知识你知道当一种疾病被定义为大流行(pandemic)时意味着什么吗?大流行(pandemic) 是指一种疾病在短时间内越过省界国界甚至洲界在全世界范围内流行。历史上,有很多疾病都…

Linux下查看进程对应的命令绝对路径

为什么80%的码农都做不了架构师?>>> 由于开发环境混乱,多人共享一台物理机,部分软件不是通过系统管理软件中心安装(例如:rpm,apt-get), 同时启动软件是在软件当前目录执行 ./XXX 。…

请收藏!这可能是目前最安全的数据加密传输解决方案

问题为了安全性起见,客户要求客户端必须将数据加密后才能传给服务端。起先,准备使用非对称加密(RSA)方式,但是发现它对原始文本长度有限制。而对称加密(AES)没有长度限制,但是使用固定密钥存在暴露的风险。…

厉害了!平均年龄8岁的抽象派画家,网友笑称:这些作品,康定斯基看了都得服气!...

全世界只有3.14 % 的人关注了爆炸吧知识在孩子们的眼中,世间万物都被赋予了无限的想象力,而绘画是他们独特想法和思维的表达。小鸟为什么在水里?因为它想学习游泳。鱼儿为什么会在天上?因为它想看看大地。一支小小的画笔&#xff…

Zabbix如何监控Windows机器

最近一直在研究Zabbix监控Windows机器,涉及到如何快速安装agent,如何修改和完善windows监控模板等等。想把自己的经验给大家分享一下,希望对大家有所帮助。1)安装agent客户端 首先分享一下用bat写的自动化安装Windows机器的agentd安装脚本,脚本里面的tc…

如何写出高质量代码

教你写出高质量代码的方法网络上有很多,比如设计原则、设计模式、重构技巧、命名规范等,以上这些本文统统都不会讲。个人理解高质量代码一定是结合业务并深度思考过的产出。很多人拿到需求后,业务和流程还没理顺后就直接编码,然后…

AOP技术研究 再续

第四部分 .Net平台AOP技术研究 4.1.Net平台AOP技术概览 .Net平台与Java平台相比,由于它至今在服务端仍不具备与unix系统的兼容性,也不具备类似于Java平台下J2EE这样的企业级容器,使 得.Net平台在大型的企业级应用上,常常为人所诟…

震惊!原来现在无所不能的世界主人翁,早已在三千年前就悄然出现!

▲ 点击查看早在春秋时代,鲁班作为机械工程师的祖师爷,就极其擅长且痴迷于一些古怪的机械装置,因此,他除了发明了墨斗、曲尺这些正儿八经的东西之外,最出名的就是用木头,发明了一只据说能在天上飞三天而不落…

ASP.NET MVC 1.0 Result 几何?

Action的返回值类型到底有几个?咱们来数数看。 ASP.NET MVC 1.0 目前一共提供了以下十几种Action返回结果类型: 1. ActionResult(base) 2. ContentResult 3. EmptyResult 4. HttpUnauthorizedResult 5. …

mysql双机互备linux成功的_配置MySQL双机热备 - Linux服务器MySQL双机热备份试验_数据库技术_Linux公社-Linux系统门户网站...

二、配置MySQL双机热备传统模式都是采用MySQL双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档。故我的一个想法产生了:当建立新的数据库时,默认会建立到/usr/local/mysql/data这里,如果能改掉默认配置文件my.…

万字总结:开源软件通识基础课第三周知识点总结

我们在前两周的课程上(第一周、第二周),系统讲授了 FOSS 的课程内容,第三周,我们开始进入 COSS(商业开源)的部分。本导学班在调研全球开源教育与课程的基础上,通过收集、整理、理解、…

掌握深度学习,为什么要用 PyTorch、TensorFlow 框架?

全世界只有3.14 % 的人关注了爆炸吧知识自从2012年深度学习再一次声名鹊起以来,许多机器学习框架都争先恐后地要成为研究人员和行业从业者的新宠。面对如些众多的选择,人们很难判断最流行的框架到底是什么。在某些情况下,深度学习或深度迁移学…

SharePoint 2010 中的BCS身份验证模式

BCS(Business Connectivity Services)是SharePoint 2010中用于替换原先Microsoft Office SharePoint Server 2007企业版的业务数据目录(Business Data Catalog ,简称BDC)的一项新服务。 BCS相比BDC而言有许多改进&…

SD卡读写扇区注意事项(转)

源:http://blog.163.com/zhaojun_xf/blog/static/30050580201151410635516/ 在调试SD卡时,大家都喜欢使用扇区进行验证。也就是说,一般都是通过读写扇区数据进行比较,或者读取第0扇区的数据,在通过WinHex软件打开启动扇…

开源软件通识基础:第二周课程回顾与总结

接第一篇《开源软件通识基础:第一周课程回顾与总结》,本文为第二周课程内容的回顾与总结。本导学班在调研全球开源教育与课程的基础上,通过收集、整理、理解、拓展国际最新的前沿开源课程,采取众创的模式,由 X-lab 核心…

mysql数据连接查询_mysql数据库 连接查询

左连接:select 列1,列2,列N fromtableA left join tableBon tableA.列 tableB 【此次表连接成一张大表,完全当成普通表看】where group ,having...照常写例:select goods_id,goods.cat_id,cat_name,goods_name,sho…

在DataGrid中合并单元格行

最近在做项目的时候经常遇到要合并单元格的情况,发现这个东西.net中并没有现成的方法,研究了一下,总结了两种方法。 这个主要都是行合并的,有以下两种情况 1、多行合并为一行,其中将某个或某几个单元格的内容合并起来 …

这些口碑炸裂的BBC神片,就是给孩子最好的生命教育

全世界只有3.14 % 的人关注了爆炸吧知识对孩子来说,好的纪录片就像是打开了一扇新世界的大门,让他们了解了更多大自然的奇妙之处。所以这次我们精心挑选了几部适合儿童观看的纪录片,其中绝大多数是导演专门为孩子拍摄的,大家可以在…

《划时代-51单片机C语言全新教程》-第四章 工程创建与深入 概览

(请复制整个下载地址到迅雷、快车、QQ旋风进行下载) 电子书下载地址:http://files.cnblogs.com/wenziqi/划时代-51单片机C语言全新教程.rar转载于:https://www.cnblogs.com/wenziqi/archive/2010/07/05/1771281.html

java模拟火车站买票的过程_Java常用代理

在我们通常的应用中,代理模式也是我们常用的设计模式之一。所谓的代理模式是指客户端并不直接调用实际的对象,而是通过调用代理对象,来间接的调用实际的对象。为什么要采用这种间接的形式来调用对象呢?一般是因为客户端不想访问实…