Hi,
i have got an wingrid in which i need to show the summary of all the rows, but one of the columns is a calculated column in which even the summary needs to be calculated ..
i would like to check for the divide by zero exception ..
is there anyway by which i can check before i assign the formula
summaryPercentageAppliedForReceived.Formula = "Sum([" + _applliedForAmountLabel + "]) / " + "Sum([" + _ReceivedAmountLabel + "])" ;
but this will work as long as the "Sum([" + _ReceivedAmountLabel + "])" is greater than zero . else it will disaply something Like NaN
so what i am looking for is something like
if ( "Sum([" + _ReceivedAmountLabel + "])" > 0)
{
"Sum([" + _applliedForAmountLabel + "]) / " + "Sum([" + _ReceivedAmountLabel + "])" ;
}
else
" 0 ";
can you please let me know if there is any other way i can do this.
thank you for your help in advance,
You could use the "if" function:
if ( Sum([B] > 0, Sum([A] / Sum([B], 0 )
Hi Mike,
Thank you for your reply,
may be i am doing something wrong, because when i try to set the value for it using the following statements it actually says invalid expression
and does not complie.
summaryPercentageAppliedForReceived.Formula = if ( "Sum([" + _applliedForAmountLabel + "])" > 0, "Sum([" + _applliedForAmountLabel + "]) / "+ "Sum([" + _ReceivedAmountLabel + "])" , 0);
if i do this
summaryPercentageAppliedForReceived.Formula = "if ( " + "Sum([ _applliedForAmountLabel ] > 0 " + "," + " Sum([ _applliedForAmountLabel]) / Sum([ _ReceivedAmountLabel ]) " + ", " + " 0)" ;
it shows me syntax error.
summaryPercentageAppliedForReceived.Formula = "if ( Sum([ _applliedForAmountLabel ]) > 0 , Sum([ _applliedForAmountLabel]) / Sum([ _ReceivedAmountLabel ]) , 0)" ;
it shows me #Ref! sign in the grid column.
if possible if you can send me some sample code how i can do it. it will be helpful for me.
Thank you.
Use the Format property of the column. What format you use depends on the data type of the column, but you can probably use a format like "p" for percent.
Thank you for your help,
actually i found a work around for this at the moment i am setting any data type, but i will try with that as well.
what i am acutally doing at the moment is
_uiTargetsDataGrid.DisplayLayout.Bands[ 0 ].Columns[ _percentageReceivedLabel ].MaskDataMode = Infragistics.Win.UltraWinMaskedEdit.MaskMode.IncludeLiterals;
_uiTargetsDataGrid.DisplayLayout.Bands[ 0 ].Columns[ _percentageReceivedLabel ].MaskDisplayMode = Infragistics.Win.UltraWinMaskedEdit.MaskMode.IncludeLiterals;
i dont know whether this is the correct way to do it. but at the moment it seems to be working for me. but i will try to set the data type and set the format property.
That should work, also. :)
Can you use If .... else for the formula
Thanks,
The "if()" formula already provides an if/else construct:
if(<condition>,<result if true>, <result if false>)
I just find down the syntax for if statement is exactly the same as the if syntax in Excel. It's help me a lot since I am writing the application that used to be in Excel.