Print Page | Close Window

CXTPReportControl performance

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Toolkit Pro
Forum Description: Topics Related to Codejock Toolkit Pro
URL: http://forum.codejock.com/forum_posts.asp?TID=2368
Printed Date: 09 November 2025 at 8:08am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: CXTPReportControl performance
Posted By: markr
Subject: CXTPReportControl performance
Date Posted: 12 June 2005 at 10:48pm
Hello,

I've been using CXTPReportControl (v9.60) for quite a while now, and I think the functionality is really solid.

I am having a problem, though with memory usage. When I add ten to twenty thousand records to the report (which has 9 colums), memory utilization really shoots up. I need the grouping capabilities of the control, so I can't use the "virtual mode" - any general tips on getting memory usage down?

Thanks,

- MR



Replies:
Posted By: markr
Date Posted: 13 June 2005 at 6:23pm
Is it possible to redraw a specific row of a CXTPReportControl without calling Populate() on the entire control?

- MR



Posted By: Oleg
Date Posted: 14 June 2005 at 4:44am

For redraw use

RedrawControl instead Populate.

call Populate only if records changed.



-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: sserge
Date Posted: 16 June 2005 at 4:36am
Hi Mark,

Regarding memory usage: when you have 9 columns, you see that each corresponding record item contains its own information. I suppose that the biggest part of used memory is spent to storing some string items values. If these values are identical, or they could be calculated somehow at runtime, you can create a kind of specific RecordItem-derived class, which will not store the data (strings or anything) inside itself, but will have some static storage, or calculated at runtime in overridden GetCaption() method.

There could be something like the following:

class CDynamicRecordItemText : public CXTPReportRecordItem
{
public:
     CDynamicRecordItemText();
     virtual CString GetCaption(CXTPReportColumn* pColumn) {
           // calculate caption
           return strCalculatedCaption;
     }
     virtual CString GetGroupCaption(CXTPReportColumn* pColumn) {
           // calculate group caption
           return strCalculatedGroupCaption;
     }
};

class CCommonRecordItemText : public CXTPReportRecordItem
{
public:
     CCommonRecordItemText();
     virtual CString GetCaption(CXTPReportColumn* pColumn) {
           return ms_strText;
     }
private:
     static CString ms_strText;
};


--
WBR,
Serge



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net