i have one main class, one datagrid class and one itemrenderer class
i am creating an object of the datagrid in my main class and adding the
itemrenderer to one of it's columns and then supplying my DP to the datagrid.
as you told to supply DP with only one proxy (i.e. one row) having 2000 values
then how would I know when datagrid has completed drawing one row?
OR
do you want me to do something like this:
in myDataGrid.as
override protected function updateDisplayList(w:Number,h:Number):void{
super.updateDisplayList(w,h);
callLater(updateDP);
}
private function updateDP():void{
//new DP with 2000 values added to second proxy.
this.dataProvider = DP;
}
----- Original Message ----
From: Alex Harui <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Sent: Friday, April 13, 2007 9:08:15 AM
Subject: RE: [flexcomponents] please help! timeout error with large data?
I would keep your 8 proxies, but only the
first one should have 2000 points. The rest should have 0 or one.
There should be an updateComplete event
when a chart finishes, and then you can add the 2000 points to the next proxy.
-Alex
From: flexcomponents@ yahoogroups. com [mailto: flexcomponents@ yahoogroups.
com ] On Behalf Of arpan srivastava
Sent: Thursday, April 12, 2007
8:22 PM
To: flexcomponents@ yahoogroups. com
Subject: Re: [flexcomponents]
please help! timeout error with large data?
i am not getting what you said.
can you please elaborate?
Are you saying to set the main dataprovider to length one or the individual
"ObjectProxy"
When should i set each row to
its 2000 values.
----- Original Message
----
From: Alex Harui <[EMAIL PROTECTED] com>
To: flexcomponents@ yahoogroups. com
Sent: Thursday, April 12, 2007 10:04:29 PM
Subject: RE: [flexcomponents] please help! timeout error with large data?
One thing you can do is temporarily set
the array of values to length 1 and then one-at-a-time set each row to its 2000
values.
From:
flexcomponents@ yahoogroups. com [mailto:flexcompone [EMAIL PROTECTED] com] On
Behalf Of arpan srivastava
Sent: Thursday, April 12, 2007
6:53 AM
To: flexcomponents@ yahoogroups.
com
Subject: Re: [flexcomponents]
please help! timeout error with large data?
I don't think DP is changing everytime.
I have an ArrayCollection where each item represents an object in which is an
array of 2000 values.
here's a view of my DP:
// There are total 8 rows for the datagrid
dataProvider = ArrayCollection (@100ddaf1)
[0] = ObjectProxy (@cc14741)
[1] = ObjectProxy (@101e0e81)
[2] = ObjectProxy (@101cebc1)
[3] = ObjectProxy (@102a7201)
[4] = ObjectProxy (@101e0f81)
[5] = ObjectProxy (@101e0a01)
[6] = ObjectProxy (@102a7341)
[7] = ObjectProxy (@101e0ac1)
filterFunction = null
length = 8 : Number
list = ArrayList (@cc147c1)
sort = null
source = Array (@100ddac1)
//Expanding first item
dataProvider = ArrayCollection (@100ddaf1)
[0] = ObjectProxy (@cc14741)
["1/1/2004". .."1/24/2005" ]
["1/24/2006" ..."10/11/ 2004"]
["10/11/2005" ..."10/26/ 2006"]
["10/27/2004" ..."11/13/ 2005"]
["11/13/2006" ..."11/29/ 2004"]
//Expanding first item - linechart is plotted on these
//values - Date and Value
dataProvider = ArrayCollection (@100ddaf1)
[0] = ObjectProxy (@cc14741)
["1/1/2004". .."1/24/2005" ]
1/1/2004 = 1682.47352600098 : Number
1/1/2005 = 4785.71585083008 : Number
1/1/2006 = 4295.85931396484 : Number
1/10/2004 = 3297.52844238281 : Number
1/10/2005 = 3612.130859375 : Number
1/10/2006 = 3216.13586425781 : Number
1/11/2004 = 6036.138671875 : Number
1/11/2005 = 3087.513671875 : Number
1/11/2006 = 6207.65490722656 : Number
1/12/2004 = 3161.44024658203 : Number
1/12/2005 = 3349.22430419922 : Number
1/12/2006 = 4344.05029296875 : Number
1/13/2004 = 2372.83447265625 : Number
----- Original Message
----
From: Alex Harui <[EMAIL PROTECTED]
com>
To: flexcomponents@ yahoogroups. com
Sent: Thursday, April 12, 2007 1:16:55 PM
Subject: RE: [flexcomponents] please help! timeout error with large data?
I would try to find a way to not update
every row every time the DP changes. You might need to use callLater to
delay the updates on each row.
From:
flexcomponents@ yahoogroups. com [mailto:flexcompone [EMAIL PROTECTED] com] On
Behalf Of arpan srivastava
Sent: Thursday, April 12, 2007
12:40 AM
To: flexcomponents@ yahoogroups.
com
Subject: Re: [flexcomponents]
please help! timeout error with large data?
if i make only one row visible thenit can make. it takes
around 35 - 40 secs to plot 2000 point on each line chart with
circleitemrenderer and without that it is pretty fast.
----- Original Message
----
From: Alex Harui <[EMAIL PROTECTED]
com>
To: flexcomponents@ yahoogroups. com
Sent: Thursday, April 12, 2007 10:54:00 AM
Subject: RE: [flexcomponents] please help! timeout error with large data?
Hmm, still sounds like 14000 to me.
If you make only one row visible, is performance acceptable?
From: flexcomponents@
yahoogroups. com [mailto:flexcompone [EMAIL PROTECTED] com] On Behalf Of arpan
srivastava
Sent: Wednesday, April 11, 2007
8:33 PM
To: flexcomponents@ yahoogroups.
com
Subject: Re: [flexcomponents]
please help! timeout error with large data?
it's not like 14000 points.
I have seven rows in the datagrid with each row having a linechart in one
cell,and each line chart is to be plotted for 2000 values. problem comes only
when i use itemrenderer to display circles also.
----- Original Message ----
From: Alex Harui <[EMAIL PROTECTED]
com>
To: flexcomponents@ yahoogroups. com
Sent: Thursday, April 12, 2007 2:18:25 AM
Subject: RE: [flexcomponents] please help! timeout error with large data?
7 rows of 2000 is 14000
points. That's quite a bit. Do they all have to change at once?
From:
flexcomponents@ yahoogroups. com [mailto:flexcompone [EMAIL PROTECTED] com] On
Behalf Of arpan srivastava
Sent: Wednesday, April 11, 2007
8:09 AM
To: flexcomponents@ yahoogroups.
com
Subject: Re: [flexcomponents] please
help! timeout error with large data?
i figured out whats the cause of
timeout error but not able to find a solution.
in my itemrenderer for the datagrid i am constructing
linechart with a CircleItemRenderer and this takes lot of time . If i don't use
any itemrenderer then it works fine, but i need a linechart with points.
Is there anyway i can make circle after making linechart?
// Add a lineSeries
lineS = new LineSeries() ;
lineS.setStyle(
"lineStroke" ,lineStroke) ;
lineS.setStyle(
"form","segment" );
lineS.setStyle(
"itemRenderer" ,new ClassFactory( CircleItemRender er));
lineS.yField =
"data";
seriesArray. push(lineS) ;
lineChart.series = seriesArray;
for now my data contains around 2000 values for each line chart and there are
seven rows in the datagrid and only one column with linechart in it's each
cell.
----- Original Message
----
From: Alex Harui <[EMAIL PROTECTED]
com>
To: flexcomponents@ yahoogroups. com
Sent: Tuesday, April 10, 2007 10:32:52 PM
Subject: RE: [flexcomponents] please help! timeout error with large data?
Probably. You have to find out where
all the time is being spent and do some optimization.
How much data is a "large
amount"? How many line and bar charts are on screen? Do all of
them need updating or can you stop certain ones from updating? Can you
break up the updates and just do one pair of charts at a time?
You could take one of your line and bar
charts and measure how long it takes to update them with new data when outside
of the DG, then test with only one pair in the DG. One way I do this is
to put an "enterFrame" listener on the stage and trace out the value
of getTimer(). Normally, you'll see the value increase by the frame-rate.
Then when it gets busy you'll see the value increase by much more and that
gives you an idea of the overhead.
-Alex
From:
flexcomponents@ yahoogroups. com [mailto:flexcompone [EMAIL PROTECTED] com] On
Behalf Of arpan srivastava
Sent: Tuesday, April 10, 2007 8:47
AM
To: Flex Components
Subject: [flexcomponents] please
help! timeout error with large data?
Hi All,
I am getting this error when I give a large amount of data
to my component that consists of a datagrid with line charts and bar charts
in it's columns.
Error: Error #1502: A script has executed for longer than the default timeout
period of 15 seconds.
at mx.managers. layoutClasses: :PriorityQueue/ removeSmallestCh ild()
at mx.managers: :LayoutManager/ validateClient( )
at mx.core::UIComponen t/validateNow( )
at mx.controls. dataGridClasses: :DataGridBase/ mx.controls. dataGridClasses:
DataGridBase: :drawItem( )
at mx.controls. dataGridClasses: :DataGridBase/ mx.controls. dataGridClasses:
DataGridBase: :makeRowsAndColu mns()
at mx.controls: :DataGrid/ mx.controls: DataGrid: :makeRowsAndColu mns()
at mx.controls. listClasses: :ListBase/ mx.controls. listClasses: ListBase:
:updateDisplayLi st()
at mx.controls: :DataGrid/ mx.controls: DataGrid: :updateDisplayLi st()
I did following:
scriptTimeLimit= "500" scriptRecursionLimi
t="50000"
but is there any other way around ?
Never miss an email again!
Yahoo! Toolbar alerts you the instant new Mail arrives. Check it out.
Finding fabulous fares is fun.
Let Yahoo! FareChase search your favorite travel sites to
find flight and hotel bargains.
We won't tell. Get more on shows you hate to love
(and love to hate): Yahoo! TV's Guilty Pleasures list.
Food fight? Enjoy some healthy debate
in the Yahoo! Answers Food Drink Q&A.
Don't be flakey. Get Yahoo! Mail for Mobile and
always stay connected to friends.
Ahhh...imagining that irresistible "new car" smell?
Check out new
cars at Yahoo! Autos.
<!--
#ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean,
sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;}
#ygrp-vitnav{
padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
#ygrp-vitnav a{
padding:0 1px;}
#ygrp-actbar{
clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;}
#ygrp-actbar .left{
float:left;white-space:nowrap;}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;font-size:77%;padding:15px 0;}
#ygrp-ft{
font-family:verdana;font-size:77%;border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;}
#ygrp-vital{
background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
#ygrp-vital #vithd{
font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
#ygrp-vital ul{
padding:0;margin:2px 0;}
#ygrp-vital ul li{
list-style-type:none;clear:both;border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
#ygrp-vital ul li .cat{
font-weight:bold;}
#ygrp-vital a {
text-decoration:none;}
#ygrp-vital a:hover{
text-decoration:underline;}
#ygrp-sponsor #hd{
color:#999;font-size:77%;}
#ygrp-sponsor #ov{
padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;margin:0;}
#ygrp-sponsor #ov li{
list-style-type:square;padding:6px 0;font-size:77%;}
#ygrp-sponsor #ov li a{
text-decoration:none;font-size:130%;}
#ygrp-sponsor #nc {
background-color:#eee;margin-bottom:20px;padding:0 8px;}
#ygrp-sponsor .ad{
padding:8px 0;}
#ygrp-sponsor .ad #hd1{
font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
#ygrp-sponsor .ad a{
text-decoration:none;}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;}
#ygrp-sponsor .ad p{
margin:0;}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;}
#ygrp-text tt{
font-size:120%;}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
-->
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com