介绍自定义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) 是指一种疾病在短时间内越过省界国界甚至洲界在全世界范围内流行。历史上,有很多疾病都…

js javaScript array 取指定元素索引、判断是否相同、重复、过滤数据

最近写js也多了&#xff0c;Array中有好多方法不够用。自己加了些以后还可能用到。 <script type"text/javascript"> //找到返回所在索引&#xff0c;不存在返回-1 Array.prototype.index function (el) { var i 0; for (var i 0, len this.length; i <…

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

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

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

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

mysql kill hup_kill -HUP pid

kill -HUP pid其中 pid 是进程标识。如果想要更改配置而不需停止并重新启动服务&#xff0c;请使用该命令。在对配置文件作必要的更改后&#xff0c;发出该命令以动态更新服务配置。根据约定&#xff0c;当您发送一个挂起信号(信号 1 或 HUP)时&#xff0c;大多数服务器进程(所…

Windows Live Essentials Wave3 QFE 官方各组件独立安装包

版本是14.0.8064.0206&#xff0c;签名日期为&#xff1a;2009-2-7 可根据自己的需要选择下载安装&#xff01;均可安装在SERVER版上&#xff01; Live Messenger | Live contacts &#xff08;安装Live Messenger的话&#xff0c;contacts 必须&#xff09; Live Writer Live …

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

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

COM组件与.NET技术对比

一、元数据 在COM中所有组件信息都存储在类型库中。.NET中信息都存储在数据集中。一些COM组件有类型库&#xff0c;一些却没有&#xff08;如VB编的&#xff0c;因为C可以用IDL——接口定义语言表述接口和方法&#xff0c;而VB不行&#xff09;。没有的话需要用C头文件来表述接…

Zabbix如何监控Windows机器

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

如何写出高质量代码

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

mysql的查表语句_mysql查表语句_MySQL

bitsCN.commysql查表语句[sql]describe table_name;这个命令用来显示一个表格的结构------------------------------------------------| Field | Type | Null | Key | Default | Extra |------------------------------------------------| ID | int(11) | NO | PRI | NULL | …

AOP技术研究 再续

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

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

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

ASP.NET MVC 1.0 Result 几何?

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

针对SharePointFarm场时安装部署OWA的步骤

下面文章列出针对SharePointFarm场时安装部署OWA的步骤&#xff1a; http://blogs.technet.com/b/meamcs/archive/2013/03/27/office-web-apps-2013-multi-servers-nlb-installation-and-deployment-for-sharepoint-2013-step-by-step-guide.aspx转载于:https://www.cnblogs.co…

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

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

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

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

CISCO IOS SLB服务器负载均衡

CISCO IOS SLB在多台服务器之间智能地均衡TCP/IP流量&#xff0c;是一种4层或7层交换功能。目前只有catalyst 6500支持。推荐在在catalyst 6500交换机中选择ACE服务模块&#xff0c;不仅能提供16Gbit/s的性能&#xff0c;而且还能通过SSL加密和双向内容检查实现安全性。优点&a…

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

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

SharePoint 2010 中的BCS身份验证模式

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