彩票走势图

Spread Studio for .NET使用教程:创建自定义函数

原创|使用教程|编辑:郝浩|2013-04-27 14:15:31.000|阅读 556 次

概述:如果需要定期使用一个非内置函数或者是将多个内置函数合并成一个独立的函数,那么你可以定义自己的自定义函数。这些自定义函数可以用来调用任意内置函数。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

 如果需要定期使用一个非内置函数或者是将多个内置函数合并成一个独立的函数,那么你可以定义自己的自定义函数。这些自定义函数可以用来调用任意内置函数。

一个自定义函数的名称可以和内置函数相同。自定义函数优先级别高于内置函数。自定义函数是动态链接的。因此,应用程序可以重新定义现有的自定义函数。

》》》免费下载Spread.Net

使用代码:

1、 定义自定义函数。

2、 在表格中注册函数。

3、 使用自定义函数。

示例:创建、注册、使用三个自定义函数

第一步是创建一个自定义函数。在这个例子中,我们创建三个自定义函数:一个立方体的数学函数,一个XOR逻辑函数,和一个空字符串函数。下面是具体的实现代码。

CUBE定制函数是用来计算数字的三次方。即,CUBE(x)相当于POWER(x,3)。

C#   

public class CubeFunctionInfo : FunctionInfo
{
public override string Name { get { return "CUBE"; } } 
public override int MinArgs { get { return 1; } }
public override int MaxArgs { get { return 1; } }
public override object Evaluate (object[] args)
{
double num = CalcConvert.ToDouble(args[0]);
return num * num * num;
}
}

XOR自定义函数执行两个布尔值的专用OR运行。这是类似于C语言的 "^"操作或者是VB中的XOR操作。

C#

public class XorFunctionInfo : FunctionInfo
{
public override string Name { get { return "XOR"; } }
public override int MinArgs { get { return 2; } }
public override int MaxArgs { get { return 2; } }
public override object Evaluate (object[] args)
{
bool arg0 = CalcConvert.ToBool(args[0]);
bool arg1 = CalcConvert.ToBool(args[1]);
return (arg0 || arg1) && (arg0 != arg1);
}
}

NULL函数返回恒量值NULL。(类似于FALSE()函数返回恒量值false)。

C#

public class NullFunctionInfo : FunctionInfo
{
public override string Name { get { return "NULL"; } } 
public override int MinArgs { get { return 0; } }
public override int MaxArgs { get { return 0; } }
public override object Evaluate (object[] args)
{
return null;
}
}

第二步是使用下面的代码片段注册自定义函数。

C#

FpSpread1.ActiveSheetView.AddCustomFunction(new CubeFunctionInfo());
FpSpread1.ActiveSheetView.AddCustomFunction(new XorFunctionInfo());
FpSpread1.ActiveSheetView.AddCustomFunction(new NullFunctionInfo());

第三步是在公式中使用自定义函数,如下面的代码所示。

C#

FpSpread1.ActiveSheetView.SetFormula(0, 0, "CUBE(5)");
FpSpread1.ActiveSheetView.SetFormula(1, 0, "XOR(FALSE,FALSE)");
FpSpread1.ActiveSheetView.SetFormula(1, 1, "XOR(TRUE,FALSE)");
FpSpread1.ActiveSheetView.SetFormula(1, 2, "XOR(FALSE,TRUE)");
FpSpread1.ActiveSheetView.SetFormula(1, 3, "XOR(TRUE,TRUE)");
FpSpread1.ActiveSheetView.SetFormula(2, 0, "CHOOSE(1,100,NULL(),300)");
FpSpread1.ActiveSheetView.SetFormula(2, 1, "CHOOSE(2,100,NULL(),300)");
FpSpread1.ActiveSheetView.SetFormula(2, 2, "CHOOSE(3,100,NULL(),300)");

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP