原創(chuàng)|使用教程|編輯:郝浩|2013-04-27 14:15:31.000|閱讀 605 次
概述:如果需要定期使用一個(gè)非內(nèi)置函數(shù)或者是將多個(gè)內(nèi)置函數(shù)合并成一個(gè)獨(dú)立的函數(shù),那么你可以定義自己的自定義函數(shù)。這些自定義函數(shù)可以用來調(diào)用任意內(nèi)置函數(shù)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
如果需要定期使用一個(gè)非內(nèi)置函數(shù)或者是將多個(gè)內(nèi)置函數(shù)合并成一個(gè)獨(dú)立的函數(shù),那么你可以定義自己的自定義函數(shù)。這些自定義函數(shù)可以用來調(diào)用任意內(nèi)置函數(shù)。
一個(gè)自定義函數(shù)的名稱可以和內(nèi)置函數(shù)相同。自定義函數(shù)優(yōu)先級(jí)別高于內(nèi)置函數(shù)。自定義函數(shù)是動(dòng)態(tài)鏈接的。因此,應(yīng)用程序可以重新定義現(xiàn)有的自定義函數(shù)。
1、 定義自定義函數(shù)。
2、 在表格中注冊(cè)函數(shù)。
3、 使用自定義函數(shù)。
第一步是創(chuàng)建一個(gè)自定義函數(shù)。在這個(gè)例子中,我們創(chuàng)建三個(gè)自定義函數(shù):一個(gè)立方體的數(shù)學(xué)函數(shù),一個(gè)XOR邏輯函數(shù),和一個(gè)空字符串函數(shù)。下面是具體的實(shí)現(xiàn)代碼。
CUBE定制函數(shù)是用來計(jì)算數(shù)字的三次方。即,CUBE(x)相當(dāng)于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自定義函數(shù)執(zhí)行兩個(gè)布爾值的專用OR運(yùn)行。這是類似于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函數(shù)返回恒量值NULL。(類似于FALSE()函數(shù)返回恒量值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è)自定義函數(shù)。
C#
FpSpread1.ActiveSheetView.AddCustomFunction(new CubeFunctionInfo()); FpSpread1.ActiveSheetView.AddCustomFunction(new XorFunctionInfo()); FpSpread1.ActiveSheetView.AddCustomFunction(new NullFunctionInfo());
第三步是在公式中使用自定義函數(shù),如下面的代碼所示。
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)");
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)