找回密码
 立即注册

QQ登录

只需一步,快速开始

wanfw

注册会员

4

主题

9

帖子

31

积分

注册会员

积分
31

活字格认证

最新发帖
wanfw
注册会员   /  发表于:2011-10-11 15:27  /   查看:6347  /  回复:5
现在我自定义了个公式,继承自FarPoint.CalcEngine.FunctionInfo,但是我想让这个公式执行时获取到的结果集(多行列结果集-DataSet),以行浮动的形式填充到表格中,请问怎么实现呢?

5 个回复

倒序浏览
wanfw
注册会员   /  发表于:2011-10-11 15:29:00
沙发
其实我就是想知道如何把获取到的值,填充到表格中,因为继承自FarPoint.CalcEngine.FunctionInfo的公式对象的  Evaluate(object[] args) {......}方法中
不知道公式所在的行列,或者表格对象
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-10-11 16:04:00
板凳

回复 2# wanfw 的帖子

你好,结果集指的是参与计算的数据还是计算后的结果呢?
你的意思是不是通过自定义公式对数据源中的数据进行计算,不知道计算出的结果怎么显示在表单中?
如果是:
  1. this.fpSpread1.Sheets[0].Rows[0].Formula = "自定义公式名称(参数)";
复制代码
回复 使用道具 举报
wanfw
注册会员   /  发表于:2011-10-11 16:34:00
地板

回复 3# iceman 的帖子

是的,我就是不知道怎么把从数据库中查询到的多行记录,填充到表格中去,因为自定义公式
继承自FarPoint.CalcEngine.FunctionInfo,在控件执行计算时,控件会调用自己定义公式对象
的 public override object Evaluate(object[] args){...............}方法,在这里方法里,根据通过访问数据库,查询到一个结果集,可在此方法中,无法得知自定义函数所在的行列号,所以无法操作表格控件,如果此方法返回单值的话,控件会自动填充,不用开发者干预,可现在不是单只,所以不知道怎么处理
回复 使用道具 举报
wanfw
注册会员   /  发表于:2011-10-11 17:53:00
5#

回复 4# wanfw 的帖子

假设在执行自定义公式时,能获取到所执行公式在表格中的行列坐标也可以(即:行号,列号)
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-10-11 18:05:00
6#

回复 5# wanfw 的帖子

你好,Spread 公式的使用是以一个 Cell 为单位的,同时返回值的显示也是以 一个 Cell 为单位的。
比如设定:
  1. this.fpSpread1.Sheets[0].Cells[0,0].Formula = "UserDefined(a)";
复制代码
那么该函数的返回值只能在 Cell[0,0] 中显示,而不能在多个单元格中显示。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部