حساب الوظائف المخصصة في GridWeb
Contents
[
Hide
]
سيناريوهات الاستخدام الممكنة
Aspose.Cells.GridWeb يدعم حساب الوظائف المخصصة بواسطة خاصية GridWeb.CustomCalculationEngine. تأخذ هذه الخاصية مثيل واجهة GridAbstractCalculationEngine. يرجى تنفيذ واجهة GridAbstractCalculationEngine وحساب وظائفك المخصصة بمنطقك الخاص.
حساب الوظائف المخصصة في GridWeb
يضيف نموذج التعليمات البرمجية التالي دالة مخصصة تسمى MYTESTFUNC () في الخلية B3. ثم نحسب قيمة هذه الوظيفة من خلال تنفيذ واجهة GridAbstractCalculationEngine. نحسب MYTESTFUNC () بطريقة تضرب المعلمة مع 2 وتعيد النتيجة. لذلك إذا كانت المعلمة 9 ، فستعيد 2 * 9 = 18.
عينة من الرموز
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
private class GridWebCustomCalculationEngine : GridAbstractCalculationEngine | |
{ | |
public override void Calculate(GridCalculationData data) | |
{ | |
// Calculate MYTESTFUNC() with your own logic. i.e Multiply MYTESTFUNC() parameter with 2 so MYTESTFUNC(3.0) = 6 | |
if ("MYTESTFUNC".Equals(data.FunctionName.ToUpper())) | |
{ | |
data.CalculatedValue = (decimal)(2.0 * (double)data.GetParamValue(0)); | |
} | |
} | |
} | |
protected void Page_Load(object sender, EventArgs e) | |
{ | |
if (Page.IsPostBack == false && GridWeb1.IsPostBack == false) | |
{ | |
// Assign your own custom calculation engine to GridWeb | |
GridWeb1.CustomCalculationEngine = new GridWebCustomCalculationEngine(); | |
// Access the active worksheet and add your custom function in cell B3 | |
GridWorksheet sheet = GridWeb1.ActiveSheet; | |
GridCell cell = sheet.Cells["B3"]; | |
cell.Formula = "=MYTESTFUNC(9.0)"; | |
// Calculate the GridWeb formula | |
GridWeb1.CalculateFormula(); | |
} | |
} |