Re: Responsiveness and Reports

Re: Responsiveness and Reports

Old forum URL: forums.lhotka.net/forums/t/2961.aspx


ozitraveller posted on Thursday, May 31, 2007

Hi

I just have a couple of questions and I hope some could help me or point me in the correct direction.

I created a desktop app and it works perfectly well. However, retreiving the data and binding it to the form creates an ugly visual effect as this happens, the half drawn form efect. Does anyone have any ideas on what I could do to give the impression of a speedy data delivery? I thought of using a timer with a small delay to allow the form to draw first, then do that databinding. Unless some can tell me how to make the data retreival asynchronous?

And the other question is, how to do reports using csla? Are business objects the way to go? What about Reporting Services? The reports in my little app are just straight list nothing fancy. However, I have other apps which do have large complicated reports.

Any help would be greatfully appreciated.

thanks

JoeFallon1 replied on Thursday, May 31, 2007

I use Active Reports .Net 2.0 for reports in my web project.

I am able to use CSLA Read Only BOs for the Header/Footer and ROCs for the Groups and Detail sections.

It wasn't that hard to figure out once I saw how the reports worked. In fact you could set up 2 base class methods to fetch the BOs and then override them in each report. My ReadOnlyBO in the header is used in almost all my reports with no overrides required as they all have a logo, title, date, subtitile, etc. If a given ROC can be used for more than one report I create an intermediate level class to override GetROC method and then inherit the common reports from that.

It is simple for list reports.

It also worked for an extremely complex report - just required more coding.

All in all - Active Reports is a good product. It meets our needs.

SQL Server Reporting services was not good enough (as of last year.)

Joe

 

Q Johnson replied on Thursday, May 31, 2007

ozitraveller:

retreiving the data and binding it to the form creates an ugly visual effect as this happens, the half drawn form efect. Does anyone have any ideas on what I could do to give the impression of a speedy data delivery?

Have you tried using SuspendLayout() at the top of your Form's Load event and ResumeLayout at the bottom (after all of your initialization code has run)?  That has always been satisfactory for me.  But maybe my forms aren't as busy at start up as your is...

ozitraveller replied on Thursday, May 31, 2007

Thanks Guys

I agree with you about Reporting Services, I'm being forced to do some at the moment (not happy!), much prefer Active Reports!!!

I would love to see how these classes of your work. I;ll see what I can come up with on Google.

 

I haven't tried SuspendLayout() before, and yes these forms have a lot of data on them, including comboboxes, etc. But I'll give it a try.

 

 

Dog Ears replied on Friday, June 01, 2007

I found binding Combo boxes to CSLA collections slow with the Windows Combo box, I use the ComponentOne List.net combo and it's fine,  don't really know why the Windows Combo was so slow, improvements can be made by changing the order of the propertie assignments... [if i remember correctly?]

...
this
.cboJobType.DataSource = Planning.JobTypeList.GetList();
this.cboJobType.ValueMember = "Type";
this.cboJobType.DisplayMember = "Description";
...

Regards,

Graeme.

ozitraveller replied on Sunday, June 03, 2007

Thanks Graeme.

There is a little improvement.

I found retrieving the data is 1 problem and sync'ing the key to the underlying record also takes time too compounding the delay effect.

Copyright (c) Marimer LLC