Print Page | Close Window

Once again: Grouping in virtual mode

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Report Control
Forum Description: Topics Related to Codejock Report Control
URL: http://forum.codejock.com/forum_posts.asp?TID=13370
Printed Date: 15 October 2018 at 4:22pm


Topic: Once again: Grouping in virtual mode
Posted By: mgampi
Subject: Once again: Grouping in virtual mode
Date Posted: 09 February 2009 at 5:07pm
Hello Codejock team members;

do you have any plans to implement grouping in virtual mode?
Despite using custom heap in our case, memory usage of the report control with more than 200000 records is over 1GB!
I tested the same resultset with virtual mode and it requires about 40 MB!

Since we also require grouping of these records, we can't use the virtual mode at the moment.


-------------
Martin

Product: Xtreme Toolkit v 15.3.1, new Projects v 18.5.0
Platform: Windows 8.1 (64bit)
Language: VC+



Replies:
Posted By: mdoubson
Date Posted: 10 February 2009 at 6:47pm
I like to know how you use virtual mode in real app? Load data - Store data?
(VirtualList old demo - pure formal).


Posted By: mgampi
Date Posted: 11 February 2009 at 4:44am
Hi;
I'm using the report control in readonly mode only! The data is collected by services connected to PLCs to determine failures and breakdowns.
So a huge amount of data is collected all over the day/month/year. This data must be presented to the user to assist in increasing productivity of facilities of any kind.
Data is loaded from databases and then presented in the report control. The only possibility to input data is via header rows to apply filter conditions to the loaded rows.
The users normally select time ranges of about one day to one week. In this case we do not have any performance and/or memory issues. But in the beginning of the new year customers often choose time ranges for several month - most of the time years - resulting in several 100000 records to be analyzed. In this case the report control can only be used in virtual mode (see initial post), but this disables necessary grouping functions.

I hope this describes my necessity of grouping in virtual mode.
At the moment I try to implement something thats best described as 'semi virtual mode' using GetItemMetrics of the report record class to provide string informations (long strings with more then 80 chars and a high degree of repetitions) on demand. But I have to implement filtering/searching by myself and I still have to allocate storage for all the report records...


-------------
Martin

Product: Xtreme Toolkit v 15.3.1, new Projects v 18.5.0
Platform: Windows 8.1 (64bit)
Language: VC+


Posted By: alexshemesh
Date Posted: 02 March 2009 at 10:08am
they never answer second question
do they?
I have similar problem, im using report control to display information about events from CCTV video server. Single video server can produce up to 1000 events per day, and it can store up to 30 days history.Application must support up to 5000 video severs.So in worst case we are talking about millions of rows.I can limit user enthusiasm , but its absolutely necessary to have ability  to work with report control that has ~50000 rows (user can choose to investigate last day events from 50 video systems). And i would like to have grouping functionality while im working with it.
So i have to use Virtual mode, and i would like to have grouping functionality in it.
I can release first version withouth grouping but i have to know if this functionality will ever be developed, so i can add it later.
Thanks



Posted By: mdoubson
Date Posted: 03 March 2009 at 12:50pm
Hi, I read you requirements and sure that virtual mode will be good for you. I will implement grouping and filtering for next release 13.1. I will prioritize this task

-------------
Mark Doubson, Ph.D.


Posted By: Aaron
Date Posted: 05 March 2009 at 2:44am
Hi,
 
This is first time I reply in MFC forum (I'm a VB user) I saw this post and I had to reply
 
First time I tried sample of RC in VirtualMode I though: this is a great control. Millions of records just in a split second and be able to do some tricks in BeforeDrawRow event (if you have a computer with decent processor, this won't be a problem).
 
So I wanted to have more then just ordinary showing data (in my case I'm talking about 30.000 events per day) So this isn't an option to, let's say a month, collect data and load it (as records) into RC. So VirtualMode would be my thingy hehehe. I'm able to filter and sort data, but I got stuck on grouping (I believe this could be done, but because my knowledge of SQL in databases does not reach that far, so I had to give up) I tried in ActiveX/COM forum, but no reply at all...
 
So, Mark is going to implement grouping in RC, that is wonderfull news  and I hope he will also implement this in ActiveX of course. I'm curious though, how Mark is going to handle this... Does this mean he is going to use DataBinding for this? Or does it mean we have to fill an array ourselves, after all we have to have some kind of data that would be used in BeforeDrawRow event. Well, I will keep an eye on this post and see what happens. Maybe you guys have more luck
 
Thanks
 
 


-------------
Product: Xtreme SuitePro (ActiveX) version 15.0.2
Platform: Windows XP (32bit) - SP 2
Language: Visual Basic 6.0

Zero replies is not an option....


Posted By: Source
Date Posted: 05 March 2009 at 6:42am
A "little bee" told me that only in MAY (this year I hope) is the month for this feature to come in the horizon

-------------
Product: Xtreme SuitePro (ActiveX) version 13.1.0
Platform: Windows XP (32bit) - SP 3
Language: Visual Basic 6.0


Posted By: mdoubson
Date Posted: 06 March 2009 at 8:32pm
I hope so

-------------
Mark Doubson, Ph.D.


Posted By: mdoubson
Date Posted: 27 May 2009 at 1:04am
Check this: Grouping in virtual mode
http://www.codeproject.com/KB/vista/listviewundoc.aspx - http://www.codeproject.com/KB/vista/listviewundoc.aspx


-------------
Mark Doubson, Ph.D.


Posted By: mgampi
Date Posted: 27 May 2009 at 3:45am
Hi;

Since most of our customers still/only use XP, this is not an option for us...
Also undocumented stuff is too much risk to take.


-------------
Martin

Product: Xtreme Toolkit v 15.3.1, new Projects v 18.5.0
Platform: Windows 8.1 (64bit)
Language: VC+


Posted By: mdoubson
Date Posted: 27 May 2009 at 3:14pm
But you can use the concept of virtual grouping with data taken by demand - ReportControl is not a ListView!

-------------
Mark Doubson, Ph.D.


Posted By: mdoubson
Date Posted: 24 July 2009 at 7:17pm
Current version of https://forum.codejock.com/uploads/DemoVersion/EditVirtualListIconStatic.rar - https://forum.codejock.com/uploads/DemoVersion/EditVirtualListIconStatic.rar  demonstrate filtering and find feature
For your video events storage it is very near turn-key implemenation - I can give you a source if you wish
 
I also have similar VB project - VB can implement same features.


-------------
Mark Doubson, Ph.D.


Posted By: mdoubson
Date Posted: 26 July 2009 at 12:16am
You ( https://forum.codejock.com/member_profile.asp?PF=4992&FID=125 - alexshemesh , https://forum.codejock.com/member_profile.asp?PF=3701&FID=125 - Aaron ,...) all talking about grouping in billion records model without any details what is your group suppose to do (show) - give me some example e.g. in video events model. We don't need to restrict ourself to use one report control for complicated model - let's use at least two - one for group set (simple structure - no items), one - for details (childs of selected group) - here we can use all power of virtual mode.
Such app will work very fast and also can be very flexible as you can dynamically change group part (use another order or set).
Aaron can also learn SQL and find interesting syntax:
SELECT DISTINCT field_name... FROM table_name;
Using it you can load in top report running in RealMode (non-Virtual one) reasonable amount of different records from table where you get only columns presented in group-box. Now selection on any top report row will clean bottom report control (runing in Virtual Mode) and load it with detailed record matched top report row values


-------------
Mark Doubson, Ph.D.


Posted By: mgampi
Date Posted: 27 July 2009 at 4:29am
Originally posted by mdoubson mdoubson wrote:

Current version of https://forum.codejock.com/uploads/DemoVersion/EditVirtualListIconStatic.rar - https://forum.codejock.com/uploads/DemoVersion/EditVirtualListIconStatic.rar  demonstrate filtering and find feature
For your video events storage it is very near turn-key implemenation - I can give you a source if you wish
 
I also have similar VB project - VB can implement same features.

Hi;

I tried grouping, but I can't figure out how this works. I'm able to move a distinct column header to the group section but nothing really happens.
Is this not finished yet?


-------------
Martin

Product: Xtreme Toolkit v 15.3.1, new Projects v 18.5.0
Platform: Windows 8.1 (64bit)
Language: VC+


Posted By: mdoubson
Date Posted: 27 July 2009 at 6:58am

I asked you about logic behind grouping - what do you want to group and how?

Simple case for group all records with propM.value = smth looks strange - how it used in business logic?
Why equal? What else can be groupping criteria?


-------------
Mark Doubson, Ph.D.


Posted By: mgampi
Date Posted: 27 July 2009 at 7:01am
Hi;

I'll try to create an example with a few screenshots of our current application...


-------------
Martin

Product: Xtreme Toolkit v 15.3.1, new Projects v 18.5.0
Platform: Windows 8.1 (64bit)
Language: VC+


Posted By: mdoubson
Date Posted: 27 July 2009 at 7:25am
You can play with this sample - https://forum.codejock.com/uploads/DemoVersion/EditRealAndVirtualListIconStatic.rar - https://forum.codejock.com/uploads/DemoVersion/EditRealAndVirtualListIconStatic.rar
It have 2 RC - top - real mode, bottom - virtual mode. Try to resize top report columns, change order, drop to groupbox and back and see bottom RC reaction
You can turn Bottom RC Header On and Off using menu - Report - Show Bottom RC Header


-------------
Mark Doubson, Ph.D.


Posted By: alexshemesh
Date Posted: 13 August 2009 at 8:08am
Hi
Event is characterized by 4 fields
Server from which event came
Sensor that produced event (sensor belongs to server)
Type of event( fire alarm , motion detection etc)
Time of Event(when event happened)
It will be very useful to group by server , sensor, type of event
This way operator can see what happened , where and when.
In other case operator may want to see all event of certain type sorted by time.
Lets imagine scenario in which some criminal breaks into office building and still laptop or something.
To analyze such dramatic incident operator need ability to manipulate events data by sorting and grouping it.
First he will probably want to see all motion detection events sorted by time from all servers guarding the building, so he groups list by server and sorts it by time.
Then he understands that incident happened in zones covered by servers A and B .So he groups events by server and event type and collapses all server groups except for A and B, and all event type groups except motion detection.
After some analysis of situation he finds out that criminal entered building because door was left open. so he drops all groupings, groups events by sensor, finds out sensor that catches everybody who opens the door, and checks who was last person leaving building.
Off course such functionality can be achieved using sorting, but grouping looks much cooler.
I downloaded EditRealAndVirtualListIconStatic , frankly i don't understand how it works.
I have 13.1 version of Extreme Suit , and grouping in virtual mode was not mentioned in release notes.
Was it implemented?
Thanks.





Posted By: mdoubson
Date Posted: 13 August 2009 at 8:13am
No grouping in virtual mode. Sample demonstrate sync between 2 report controls. You can use one as your group presentation - second as details view loaded by selection in first control

-------------
Mark Doubson, Ph.D.


Posted By: mgampi
Date Posted: 12 October 2017 at 1:45am
Hi;

I once again 7 years later ask the same question:

WHEN WILL THE REPORT CONTROL SUPPORT GROUPING AND SORTING IN VIRTUAL MODE?

Codejock guys - please comment this!


-------------
Martin

Product: Xtreme Toolkit v 15.3.1, new Projects v 18.5.0
Platform: Windows 8.1 (64bit)
Language: VC+



Print Page | Close Window