Telerik Forums
Reporting Forum
1 answer
184 views
Hello,
We have currently come into the situation where we will need to be showing large sets of data.  Currently our reports will not get over a few hundred pages in length at the max.  When I say larger, I'm not exactly sure how large just yet.  All I know is that a few of the reports I've tried to test have ended with the server running out of memory trying to "Generate Report".

My question here is what are the stress limitations of the Telerik Reporting tool?  How many pages of data with say 10 columns can the viewer show before it physically won't do it?  I know a lot of that is dependent on hardware specs of the server but there has to be some number somewhere.

Also I've been reading over the
knowledge base article trying to tweek some performance issues.  This however, hasn't helped that much considering sub reports will not work in my particular situation. Some of these larger reports are just flat forms of data that can't be broken out.

So from all this there are two major questions that I have.  

1) Is there a way to put a timeout on the "Generating Report" so that the server doesn't sit there and spin, bogging down everyone else?
2) Is there a way to somehow not load the entire report into memory.  Is there a built in way to not have each page stored or created at initial runtime?

Basically I'm just looking for any and all performance tuning practices that I could potentially use to make these very large reports run. 

Also the database returns the datasets back fairly quickly.  The database has never been a problem in any of these issues.

Thank you,

Chris McMahan
Steve
Telerik team
 answered on 13 Nov 2009
4 answers
661 views
Hi everybody,

i want to change the row's color when (RowNumber Mod 2 == 0) in Design time but
it doesnt work...

i print on each row the RowNumber in a textbox and it always prints RowNumber = 1...
So, anyone have an idea?

i saw this example but that doesnt work...

http://www.telerik.com/support/kb/reporting/customization-tip/displaying-data-with-alternating-style-rows.aspx

I want to do it in design time...

Thanks....
Daniel BOTERO CORREA
Daniel Botero Correa
Top achievements
Rank 1
 answered on 13 Nov 2009
7 answers
197 views
Hi

I would like the RadFormDecorator to skin the reportviewer , i have managed to implement a custom skin and custom css for the viewer but i am unable to style all aspects of the control. Can you please inform me how i can style to following;

PreviewButton
Change the text (to be "Refresh" ) and skin to RadFormDecorator style  (Black... etc )
Parameters Panel
apply a background image
Parameters Drop Down List Box
Change skin to RadFormDecorator style
Report Viewer Scroll Bar
Change skin to RadFormDecorator style

Please see Pic1 below for an example

The odd thing is that the Drop Down List Box scroll bars are affected by the RadFormDecorator style  but nothing else ( please see pic2 below )


Pic1
pic2

Regards,

Richard C

Steve
Telerik team
 answered on 13 Nov 2009
0 answers
194 views

 

private void groupHeaderSection1_ItemDataBinding(object sender, EventArgs e)

 

{

 

if (_openingFuelBalance != null && _closingFuelBalance != null)

 

{

Telerik.Reporting.Processing.

GroupSection section = sender as Telerik.Reporting.Processing.GroupSection;
***************************************************************************

 

 

DataRowView row = section.DataItem as DataRowView;

 

 

********************************************************************************
object
val = row.Row["PrimeMover"];

 

_openingFuelBalance =

blFuelBalance.ListRecordOpening(val.ToInt(), strDateFrom, strDateTo);

 

_closingFuelBalance =

blFuelBalance.ListRecordClosing(val.ToInt(), strDateFrom, strDateTo);

 

 

if (_openingFuelBalance != null && _closingFuelBalance != null)

 

{

txtBF.Value = _openingFuelBalance.LastOdometer.ToString();

}

 

else

 

{

txtBF.Value =

"0";

 

txtCheckDigit.Value =

"0";

 

txtTtlDiff.Value =

"0";

 

}

}

}



When I generate the Telerik Report, the row that I mark as Asterik (*) ,it come  out the error dataset does not support system.nullable. Can your all help me to solve this problem. Is it problem cause by linQ. I use Linq to retreive the data.Thank you very much for your all  help.
prince chun
Top achievements
Rank 1
 asked on 13 Nov 2009
4 answers
153 views
Hi support,

I was wondering if it was possible to place a report viewer inside a nested view template in a RadGrid.  When I did so, I set the report up and it didn't work.  The same report worked fine in the page load event of the same page, but on placing the reportviewer inside the nestedviewtemplate of a grid the report didn't work.

Thanks,
Josh
Josh
Top achievements
Rank 1
 answered on 12 Nov 2009
3 answers
83 views
Hi,

Does anyone know how i should fix the layout of the following report (attachment)?
there is a problem with the size of the textboxes of the datafields...

thx in front.
Steve
Telerik team
 answered on 12 Nov 2009
2 answers
174 views
Hello,

I updated our reports to version 3.2.9.1104 and most of them broke. The reports that broke the only difference i could see is they are using ArrayLists populated with BusinessObjects, If I use an ObservableCollection<T> it seems to work just fine. Any help on this problem would be great.

some sample code
this one works
public partial class Window1 : Window 
    { 
        public Window1() 
        { 
            InitializeComponent(); 
            ReportViewer rv = new ReportViewer(); 
            Report1 rpt = new Report1(); 
 
            ObservableCollection<MyObject> ary = GenerateData(); 
 
            rpt.DataSource = ary; 
            rv.Report = rpt; 
            rv.RefreshReport();
            //wfh is WindowsFormsHost
            wfh.Child = rv; 
        } 
 
 
        private static ObservableCollection<MyObject> GenerateData() 
        { 
            ObservableCollection<MyObject> data = new ObservableCollection<MyObject>(); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Tata", Region = "Europe", Sales = 11 }); 
 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Tata", Region = "Europe", Sales = 12 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Tata", Region = "Europe", Sales = 13 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Tata", Region = "Europe", Sales = 14 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Tata", Region = "Asia", Sales = 15 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Tata", Region = "Asia", Sales = 16 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Tata", Region = "Asia", Sales = 17 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Tata", Region = "Asia", Sales = 17 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Tata", Region = "Africa", Sales = 19 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Tata", Region = "Africa", Sales = 20 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Tata", Region = "Africa", Sales = 21 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Tata", Region = "Africa", Sales = 22 }); 
 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Tata", Region = "Europe", Sales = 111 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Tata", Region = "Europe", Sales = 112 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Tata", Region = "Europe", Sales = 113 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Tata", Region = "Europe", Sales = 114 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Tata", Region = "Asia", Sales = 115 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Tata", Region = "Asia", Sales = 116 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Tata", Region = "Asia", Sales = 117 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Tata", Region = "Asia", Sales = 118 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Tata", Region = "Africa", Sales = 119 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Tata", Region = "Africa", Sales = 120 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Tata", Region = "Africa", Sales = 121 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Tata", Region = "Africa", Sales = 122 }); 
 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Toyota", Region = "Europe", Sales = 22 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Toyota", Region = "Europe", Sales = 23 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Toyota", Region = "Europe", Sales = 24 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Toyota", Region = "Europe", Sales = 25 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Toyota", Region = "Asia", Sales = 26 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Toyota", Region = "Asia", Sales = 27 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Toyota", Region = "Asia", Sales = 28 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Toyota", Region = "Asia", Sales = 29 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Toyota", Region = "Africa", Sales = 30 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Toyota", Region = "Africa", Sales = 31 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Toyota", Region = "Africa", Sales = 32 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Toyota", Region = "Africa", Sales = 33 }); 
 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Toyota", Region = "Europe", Sales = 122 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Toyota", Region = "Europe", Sales = 123 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Toyota", Region = "Europe", Sales = 124 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Toyota", Region = "Europe", Sales = 125 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Toyota", Region = "Asia", Sales = 126 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Toyota", Region = "Asia", Sales = 127 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Toyota", Region = "Asia", Sales = 128 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Toyota", Region = "Asia", Sales = 129 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Toyota", Region = "Africa", Sales = 130 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Toyota", Region = "Africa", Sales = 131 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Toyota", Region = "Africa", Sales = 132 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Toyota", Region = "Africa", Sales = 133 }); 
 
            return data; 
        } 
    } 
 
    public class MyObject 
    { 
        public string Make 
        { 
            get
            set
        } 
 
        public string Quarter 
        { 
            get
            set
        } 
 
        public int Year 
        { 
            get
            set
        } 
 
        public string Region 
        { 
            get
            set
        } 
 
        public decimal Sales 
        { 
            get
            set
        } 
    } 

this one doesn't
public partial class Window1 : Window 
    { 
        public Window1() 
        { 
            InitializeComponent(); 
            ReportViewer rv = new ReportViewer(); 
            Report1 rpt = new Report1(); 
 
            ArrayList ary = GenerateData(); 
 
            rpt.DataSource = ary; 
            rv.Report = rpt; 
            rv.RefreshReport();
            //wfh is WindowsFormsHost
            wfh.Child = rv; 
        } 
 
 
        private static ArrayList GenerateData() 
        { 
            ArrayList data = new ArrayList(); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Tata", Region = "Europe", Sales = 11 }); 
 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Tata", Region = "Europe", Sales = 12 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Tata", Region = "Europe", Sales = 13 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Tata", Region = "Europe", Sales = 14 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Tata", Region = "Asia", Sales = 15 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Tata", Region = "Asia", Sales = 16 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Tata", Region = "Asia", Sales = 17 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Tata", Region = "Asia", Sales = 17 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Tata", Region = "Africa", Sales = 19 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Tata", Region = "Africa", Sales = 20 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Tata", Region = "Africa", Sales = 21 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Tata", Region = "Africa", Sales = 22 }); 
 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Tata", Region = "Europe", Sales = 111 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Tata", Region = "Europe", Sales = 112 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Tata", Region = "Europe", Sales = 113 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Tata", Region = "Europe", Sales = 114 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Tata", Region = "Asia", Sales = 115 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Tata", Region = "Asia", Sales = 116 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Tata", Region = "Asia", Sales = 117 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Tata", Region = "Asia", Sales = 118 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Tata", Region = "Africa", Sales = 119 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Tata", Region = "Africa", Sales = 120 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Tata", Region = "Africa", Sales = 121 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Tata", Region = "Africa", Sales = 122 }); 
 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Toyota", Region = "Europe", Sales = 22 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Toyota", Region = "Europe", Sales = 23 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Toyota", Region = "Europe", Sales = 24 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Toyota", Region = "Europe", Sales = 25 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Toyota", Region = "Asia", Sales = 26 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Toyota", Region = "Asia", Sales = 27 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Toyota", Region = "Asia", Sales = 28 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Toyota", Region = "Asia", Sales = 29 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q1", Make = "Toyota", Region = "Africa", Sales = 30 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q2", Make = "Toyota", Region = "Africa", Sales = 31 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q3", Make = "Toyota", Region = "Africa", Sales = 32 }); 
            data.Add(new MyObject() { Year = 2007, Quarter = "Q4", Make = "Toyota", Region = "Africa", Sales = 33 }); 
 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Toyota", Region = "Europe", Sales = 122 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Toyota", Region = "Europe", Sales = 123 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Toyota", Region = "Europe", Sales = 124 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Toyota", Region = "Europe", Sales = 125 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Toyota", Region = "Asia", Sales = 126 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Toyota", Region = "Asia", Sales = 127 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Toyota", Region = "Asia", Sales = 128 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Toyota", Region = "Asia", Sales = 129 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q1", Make = "Toyota", Region = "Africa", Sales = 130 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q2", Make = "Toyota", Region = "Africa", Sales = 131 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q3", Make = "Toyota", Region = "Africa", Sales = 132 }); 
            data.Add(new MyObject() { Year = 2008, Quarter = "Q4", Make = "Toyota", Region = "Africa", Sales = 133 }); 
 
            return data; 
        } 
    } 
 
    public class MyObject 
    { 
        public string Make 
        { 
            get
            set
        } 
 
        public string Quarter 
        { 
            get
            set
        } 
 
        public int Year 
        { 
            get
            set
        } 
 
        public string Region 
        { 
            get
            set
        } 
 
        public decimal Sales 
        { 
            get
            set
        } 
    } 


Thanks Much
~Boots
Boots
Top achievements
Rank 1
 answered on 12 Nov 2009
2 answers
141 views
I'm having a devil of a time getting this to work.

My scenario is:

2 charts in outer scope (location)
2 charts in one group section (department)
2 charts in another group section (position)

I want to display 2 charts for the outer scope - the location.
for each department within the location I want to display 2 charts.
for each position within the department I want to display 2 charts.

Do you have an example showing how to pass parameters in such a scenario. I've not been able to find one this complex.
Joe
Top achievements
Rank 2
 answered on 11 Nov 2009
2 answers
131 views
Hi,
First, is there any documentation of breaking changes when upgrading from Q2 to Q3? I can't find any.

With Q2 I have a textbox in PageHeaderSection that I bind the value property with: =Fields.PropertyName
(I am binding a IList<Entity> in the NeedDataSource event)
This breaks in Q3.

Isn't it possible anymore to bind entity fields in PageHeader section?


/Mattias
Mattias
Top achievements
Rank 1
 answered on 11 Nov 2009
1 answer
113 views
Hi,
I want to add a report control to a web part that will be added to a sharepoint web part page.  I'll add the reporting control in code and assign the datasource etc...

The datasource will be a sharepoint list / document library.  I haven't checked to see if that's possible. 

Does all this sound straightforward or am I in for challenges?
Thanks.
Steve
Telerik team
 answered on 11 Nov 2009
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?