我已经定义了自己的Excel函数(称为ADXExcelFunctionDeescriptor).方法存根如下所示:
public static object ExecuteMyFunction(object values, object tagName)
{ // Some code here }
Run Code Online (Sandbox Code Playgroud)
该方法接收一个double值数组和一个名为name的字符串.
在设计视图中,我的ADXExcelFunctionDeescriptor如下所示:

我通过以下代码行调用并设置函数:
var formula = string.Format(@"={0}({1};{2})", Temp.FORMULA_NAME, this.DataRangeTextBox.Text, tagCaption);
resultRange.set_Value(Type.Missing, formula);
resultRange.Formula = resultRange.Value;
Run Code Online (Sandbox Code Playgroud)
这将导致异常!例外情况如下:
System.Runtime.InteropServices.COMException occurred
HResult=-2146827284
Message=Ausnahme von HRESULT: 0x800A03EC
Source=""
ErrorCode=-2146827284
StackTrace:
bei System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
bei Microsoft.Office.Interop.Excel.Range.set_Value(Object RangeValueDataType, Object )
bei bb.ExcelToolbar.Controls.bbControl.ApplyFormula(Object sender, EventArgs e) in c:\xx\yy\zz\bb\bb.ExcelToolbar\Controls\bbControlcs:Zeile 88.
InnerException:
Run Code Online (Sandbox Code Playgroud)
此外,如果我没有传递tagName参数,该函数将返回一个没有任何异常或错误的结果.
var formula = string.Format(@"={0}({1})", Temp.FORMULA_NAME, this.DataRangeTextBox.Text, tagCaption);
resultRange.set_Value(Type.Missing, formula);
resultRange.Formula …Run Code Online (Sandbox Code Playgroud) 有没有办法在C#中显示MessageBox而不关注消息框中的按钮?例如,以下代码片段(无法正常工作):
MessageBox.Show("I should not have a button on focus",
"Test",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button3);
Run Code Online (Sandbox Code Playgroud)
我想要的是显示MessageBox而不关注[是]或[否].背景是客户扫描几个在和处有回车的条形码.因此,当消息框弹出并且他们扫描更多条形码而没有注意到消息框时,他们"按下"按钮.
我使用Fluent NHibernate和自动功能.现在我正在寻找像配置,设置,自定义属性 - 无论如何 - 将实体属性声明为"ReadOnlyFromDb"
在MsSql数据库中,我在其中一个表中使用计算列,其中根据特定数据行的某些其他值计算值.现在我已将实体类中的此列声明为
public virtual int STATUS { get; private set; }
Run Code Online (Sandbox Code Playgroud)
获取表格的具体数据一切正常.STATUS使用数据表中的特定值填充属性.
当我尝试SaveUpdate()特定对象时出现问题.我总是得到例外
A computed column cannot be the target of an INSERT or UPDATE statement
Run Code Online (Sandbox Code Playgroud)
这对我的理解是正确的 - 以及它应该如何;)!
基本上我正在寻找配置,设置,自定义属性 - 无论如何 - 要说
Hey Fluent NHibernate - 获取特定属性
propertyName但不插入/更新属性propertyName
有类似的东西吗?或者这种情况是否存在解决方法?我搜索了流利的nhibernate wiki,但没有找到一个smilliar案例.
我希望有人已经面对并解决了这个问题!
以下是我创建会话的代码片段(可能有帮助):
public static ISessionFactory GetNHibernateSession()
{
if (nhibernateSession != null)
return nhibernateSession;
if (ConfigurationManager.AppSettings[msSqlConnectionString] == null || ConfigurationManager.AppSettings[msSqlConnectionString] == String.Empty)
throw new NullReferenceException(String.Format("AppSetting '{0}' must not …Run Code Online (Sandbox Code Playgroud) 我正在寻找以下功能或解决方案:
对于 SQL Reporting 中的图表,我需要将 A 列中的值相乘。为了求和,我将=SUM(COLUMN_A)用于图表。但是我可以用什么来乘法 - 到目前为止我无法找到解决方案?
目前我正在计算堆积列的值如下:
=ROUND(SUM(Fields!Value_Is.Value)/SUM(Fields!StartValue.Value),3)
Run Code Online (Sandbox Code Playgroud)
而不是 SUM 我需要一些东西来乘以这些值。类似的东西:
=ROUND(MULTIPLY(Fields!Value_Is.Value)/MULTIPLY(Fields!StartValue.Value),3)
Run Code Online (Sandbox Code Playgroud)
编辑#1
好的,试图让这件事运行起来。图表的表达式如下所示:
=Exp(Sum(Log(IIf(Fields!Menge_Ist.Value = 0, 10^-306, Fields!Menge_Ist.Value)))) / Exp(Sum(Log(IIf(Fields!Startmenge.Value = 0, 10^-306, Fields!Startmenge.Value))))
Run Code Online (Sandbox Code Playgroud)
如果我手动计算我的“需求”,我必须得到以下结果:

在我的 SQL 报告中,我得到以下结果:
为方便起见,这些是原始值:

并且您可以按 CW、CQ 或 CY 对图表进行分组(第一张图片中的值是 FertStufe 原始值的聚合总和值)
编辑#2
尝试了您的表达式,结果如下:

只想说清楚:
列中的值
=Value_IS / Start_Value
Run Code Online (Sandbox Code Playgroud)
在第一张图片中彼此相乘
0,9947 x 1,0000 x 0,59401 = 0,58573
扩散日历周 44 和
起始值:1900,00 值是:1890,00 == 产量:0,99474
Waffer unbestrahlt Calenderweek 44 Sums
起始值:620,00 值是:620,00 == yield 1,0000
Pellet Calenderweek 44 Sums
起始值:271,00 值是:160,00 …
multiplication aggregate-functions reporting-services ssrs-2008