I am using Infragistic Ultra grid in form which version is 16.1. i face memory leakage problem in ultragird.
all object of ultragrid release memory but summary setting and summary reference does not release memory
Thank you for posting in our forums!
The best way for us to assist you is if you provide a small, isolated sample that we can run and use for debugging locally.
If you are unable to provide an isolated sample I may be able to give suggestions if you provide the code for your form.
Looking forward to hearing from you.
Greeting of the day.
thank you for reply.
Sorry I have no Sample but still i send some part which i use in my project. Rar file which use as dll in my project.
that is modify by me and another txt file which how to use in project.
UltGrdCssMatReport.SetDataBinding(ObjBOReportView.DataSet, ObjBOReportView.ReportData, true);
UltGrdCssMatReport.SetOperation(false, false, true, ModCont.cUltraGrid.EnumCellActivation.AllowEdit);
UltGrdCssMatReport.RowSummaryRateFromAmount(0, "NETSRATE", "NETSAMOUNT", "I_CARAT");
UltGrdCssMatReport.RowSummaryPercentageFromAmountSummary(0, "NETSPER", "NETSAMOUNT", "PRAMOUNT", "I_CARAT");
UltGrdCssMatReport.RowSummarySum(0, "NETSAMOUNT", "#0.00");
UltGrdCssMatReport.RowSummary(0, "DIFFCS", SummaryType.Formula, "#0.00", GetFormula("NETSAMOUNT", "CAMOUNT"));
private string GetFormula(string pBaseAmount, string pDiscAmount)
string StrFormula = string.Empty;
//if( SUM([I2PCS])+SUM([I2SPCS]) = 0 , 0 , SUM([I2PCS]) / (SUM([I2PCS])+SUM([I2SPCS])) * 100 )
StrFormula = "if (SUM([" + pBaseAmount + "]) > SUM([" + pDiscAmount + "]) , ";
StrFormula += "- (100 - (SUM([" + pDiscAmount + "]) / SUM([" + pBaseAmount + "]) * 100)) , ";
StrFormula += "100 - (SUM([" + pBaseAmount + "]) / SUM([" + pDiscAmount + "]) * 100))";
As I was discussing this issue with a colleague, we came to the conclusion that we needed a little more information.
Ideally, we would have a sample that we could run to reproduce the memory leak. Please work to provide this to us.
While you are working on this it would help to see details from your memory profiler showing the path to root for the SummarySettings objects so we can review why they may be held in memory.
Another Screenshot, regarding where to store the object in an ultra grid.
Would you be able to share the entire profiler result from dotMemory?
Find Dot Memory Software 's Workspace From Below link :
Thank you for the profiler results.
It would also help to have more details about what is happening in the application between snapshots and knowing when you expect the SummarySettings to be cleaned up. That being said, I did look at the instance counts for the cUltraGrid and SummarySettings objects in each snapshot and see that there are:
Looking at the overall amount of memory used between the snapshots and there is a dip in memory usage before Snapshot 4, I assume you are expecting the SummarySettings objects to be cleaned up in Snapshot 4. As such I took a look at the comparison between the two snapshots and I see that the SummarySettings seem to be held in memory by a few different paths to root including one to the EditorWithMask+AccessibleTextManager and BusLib.Solitaire.Master.Master1.BOQuaMast though the cUltraCombo hooking into the ListChanged of a DataView.
For the EditorWithMask+AccessibleTextManager, this appears to be held in memory by the controlsList of the static class and that reference is expected to be removed when the UltraGrid (or cUltraGrid) is Disposed.
For the other path to root, the cUltraCombo should unhook the ListChanged event handler when Dispose is called on it. If you are dynamically creating the cUltraCombo, please make sure that you are disposing when it is no longer used. If it is on the Form, it should be in the controls collection and should be disposed when the form is.
If you have verified that Dispose is being called for the relevant cUltraGrid and cUltraCombo, I will need a sample that reproduces the issue that i can use for debugging to see why the references to them aren't removed when they are disposed.
Let me know if you have any questions with this matter.