Sethenvir
Members-
Content count
8 -
Joined
-
Last visited
About Sethenvir
-
Rank
Forum Newbie
-
Hello FusionCharts-land. Ok so I have a new problem. I have many charts on a single ASP.Net page. I say many I actually only mean 9. The problem is that 3 of these charts are intermittently not printing. I've tracked down how to MAKE it print successfully - scroll down so every chart has been partially visible. Needless to say - this shouldn't have to be the case. I've attached good and bad examples of the print. Any thoughts on making this work aside from the slightly hacky make it scroll to the bottom automatically just before calling window.print?
-
The solution I've gone with in the end is setting the baseFont property to Consolas - a monospaced font - and padding where appropriate. Though honestly this feels like more than a bit of a hack and rather untidy.
-
Hi all, Ok so I have a page and that page has multiple stacked bar charts. The charts, while reporting across the same data are exceedingly different in general data range. Some sections will often report in just the tens to hundreds while others will spiral up to the thousands and tens of thousands and in some cases hundreds of thousands. So even though they share the same parent data set as it were its not viable to show them in the same chart as the data itself isn't directly related between groups and some groups will have such high figures it will render the data with a lower range completely illegible. The PROBLEM is that it looks exceedingly untidy. The labels on each bar are different, some short, some long. As a result some label areas are taking up say 5% of the available space, some 10% and some 15% making it all look exceedingly untidy and mismatched. I've tried padding the labels with spaces and separating on to lines but of course the font used in the charts isn't a monospaced so.... the results are less than perfect. I've tried using maxLabelWidthPercent but thats resulted in..... not a lot and anyway, thats only setting the maximum, not what it'll actually take. I've tried the last in conjunction with useEllipsesWhenOverflow - again to no avail. Please see attached to see what I mean if that wasn't clear enough. Red lines added to emphasis the issue. Any advice?
-
Ok this can be closed, I found the issue. Someone had formatted the number being used for the Set Value using ToString("N2") and seems it doesn't like the thousand separator. Guessing it parses it to a number and having the literal character "," causes this to fail resulting in a 0 or null value.
-
Hi there, Having a bit of an issue with a column on my chart not rendering and I'm not honestly sure why. The attached is a picture of how the graph is loading. The below is the XML being used to generate this graph: - <chart caption='Campaign Average Value' xAxisName='Send Date' yAxisName='Average Value (£)' showValues='1' adjustDiv='0' outCnvBaseFontSize='10' labelDisplay='ROTATE' slantLabels='1' rotateValues='1' placeValuesInside='1'> <categories> <category label='27/04/2015 12:01' /> <category label='18/05/2015 12:01' /> <category label='01/06/2015 12:02' /> <category label='08/06/2015 12:00' /> <category label='15/06/2015 12:02' /> <category label='22/06/2015 12:01' /> <category label='06/07/2015 12:02' /> <category label='13/07/2015 12:00' /> <category label='17/07/2015 12:00' /> <category label='24/07/2015 12:00' /> <category label='31/07/2015 12:02' /> <category label='07/08/2015 12:01' /> <category label='14/08/2015 12:01' /> <category label='21/08/2015 12:00' /> <category label='25/09/2015 12:01' /> <category label='02/10/2015 12:00' /> <category label='09/10/2015 12:00' /> </categories> <dataset seriesName='Average Value' color = '003399' > <set value='0.00' toolText = 'Recipients: 7, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='0.00' toolText = 'Recipients: 8, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='0.00' toolText = 'Recipients: 6, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='0.00' toolText = 'Recipients: 9, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='0.00' toolText = 'Recipients: 5, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='12.71' toolText = 'Recipients: 7, Average Value: £12.71 (Total Revenue: £89.00)' /> <set value='0.00' toolText = 'Recipients: 7, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='13.61' toolText = 'Recipients: 3, Average Value: £13.61 (Total Revenue: £40.83)' /> <set value='5.83' toolText = 'Recipients: 7, Average Value: £5.83 (Total Revenue: £40.83)' /> <set value='0.00' toolText = 'Recipients: 5, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='1,899.50' toolText = 'Recipients: 10, Average Value: £1,899.50 (Total Revenue: £18,995.00)' /> <set value='0.00' toolText = 'Recipients: 4, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='51.52' toolText = 'Recipients: 6, Average Value: £51.52 (Total Revenue: £309.12)' /> <set value='0.00' toolText = 'Recipients: 8, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='0.00' toolText = 'Recipients: 3, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='0.00' toolText = 'Recipients: 6, Average Value: £0.00 (Total Revenue: £0.00)' /> <set value='0.00' toolText = 'Recipients: 7, Average Value: £0.00 (Total Revenue: £0.00)' /> </dataset> <dataset seriesName='Cumulative Average Value' color = 'BCBEC0' renderas='Line' showValues='0'> <set value='0.00' toolText = 'Cumulative Average Value: £0.00, Cumulative Recipients: 7, Cumulative Total Revenue: £0.00' /> <set value='0.00' toolText = 'Cumulative Average Value: £0.00, Cumulative Recipients: 15, Cumulative Total Revenue: £0.00' /> <set value='0.00' toolText = 'Cumulative Average Value: £0.00, Cumulative Recipients: 21, Cumulative Total Revenue: £0.00' /> <set value='0.00' toolText = 'Cumulative Average Value: £0.00, Cumulative Recipients: 30, Cumulative Total Revenue: £0.00' /> <set value='0.00' toolText = 'Cumulative Average Value: £0.00, Cumulative Recipients: 35, Cumulative Total Revenue: £0.00' /> <set value='2.12' toolText = 'Cumulative Average Value: £2.12, Cumulative Recipients: 42, Cumulative Total Revenue: £89.00' /> <set value='1.82' toolText = 'Cumulative Average Value: £1.82, Cumulative Recipients: 49, Cumulative Total Revenue: £89.00' /> <set value='2.50' toolText = 'Cumulative Average Value: £2.50, Cumulative Recipients: 52, Cumulative Total Revenue: £129.83' /> <set value='2.89' toolText = 'Cumulative Average Value: £2.89, Cumulative Recipients: 59, Cumulative Total Revenue: £170.66' /> <set value='2.67' toolText = 'Cumulative Average Value: £2.67, Cumulative Recipients: 64, Cumulative Total Revenue: £170.66' /> <set value='259.00' toolText = 'Cumulative Average Value: £259.00, Cumulative Recipients: 74, Cumulative Total Revenue: £19,165.66' /> <set value='245.71' toolText = 'Cumulative Average Value: £245.71, Cumulative Recipients: 78, Cumulative Total Revenue: £19,165.66' /> <set value='231.84' toolText = 'Cumulative Average Value: £231.84, Cumulative Recipients: 84, Cumulative Total Revenue: £19,474.78' /> <set value='211.68' toolText = 'Cumulative Average Value: £211.68, Cumulative Recipients: 92, Cumulative Total Revenue: £19,474.78' /> <set value='205.00' toolText = 'Cumulative Average Value: £205.00, Cumulative Recipients: 95, Cumulative Total Revenue: £19,474.78' /> <set value='192.82' toolText = 'Cumulative Average Value: £192.82, Cumulative Recipients: 101, Cumulative Total Revenue: £19,474.78' /> <set value='180.32' toolText = 'Cumulative Average Value: £180.32, Cumulative Recipients: 108, Cumulative Total Revenue: £19,474.78' /> </dataset> <styles> <definition> <style name='myValuesFont' type='font' size='9' color='000000' bold='0' bgColor='FFFFFF' borderColor='666666'/> </definition> <application> <apply toObject='DataValues' styles='myValuesFont' /> </application> </styles> </chart> Our current theory is that that bar is simply too large in comparison with the other values present but..... I need the Y axis to scale up to it and render appropriately. I'm not imposing a limit on the Y axis max value either so..... thoughts? Thanks for any help! EDIT: The relevant Set node is on line 32 of the XML. EDIT2: And of course this is using MS Column and Line 3d
-
And less important but - the same functionality seems to not work in Chrome either.
-
Some additional information - this is the difference in the chart div contents AFTER copying to the new window. Local instance (the one that works): - <div id="divActualYearGraph_Control_ChartDivDiv"> <object width="100%" height="430" class="FusionCharts" id="divActualYearGraph_Control_ChartDiv" data="/CTWebCharts/V3/StackedColumn3DLine.swf" type="application/x-shockwave-flash" lang="EN" style="visibility: visible;"> <param name="scaleMode" value="noScale"> <param name="scale" value="noScale"> <param name="wMode" value="opaque"> <param name="bgColor" value="#ffffff"> <param name="allowScriptAccess" value="always"> <param name="quality" value="best"> <param name="flashvars" value="*snip*"> </object> </div> The development instance (the one that doesn't): - <DIV id=divActualYearGraph_Control_ChartDivDiv> <OBJECT lang=EN id=divActualYearGraph_Control_ChartDiv class=FusionCharts style="VISIBILITY: visible" classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width="100%" height=430> <PARAM NAME="_cx" VALUE="10081"> <PARAM NAME="_cy" VALUE="11377"> <PARAM NAME="FlashVars" VALUE="*snip*"> <PARAM NAME="Movie" VALUE="/CTWebCharts/V3/StackedColumn3DLine.swf"> <PARAM NAME="Src" VALUE="/CTWebCharts/V3/StackedColumn3DLine.swf"> <PARAM NAME="WMode" VALUE="Opaque"> <PARAM NAME="Play" VALUE="0"> <PARAM NAME="Loop" VALUE="-1"> <PARAM NAME="Quality" VALUE="High"> <PARAM NAME="SAlign" VALUE="LT"> <PARAM NAME="Menu" VALUE="-1"> <PARAM NAME="Base" VALUE=""> <PARAM NAME="AllowScriptAccess" VALUE="always"> <PARAM NAME="Scale" VALUE="NoScale"> <PARAM NAME="DeviceFont" VALUE="0"> <PARAM NAME="EmbedMovie" VALUE="0"> <PARAM NAME="BGColor" VALUE="FFFFFF"> <PARAM NAME="SWRemote" VALUE=""> <PARAM NAME="MovieData" VALUE=""> <PARAM NAME="SeamlessTabbing" VALUE="1"> <PARAM NAME="Profile" VALUE="0"> <PARAM NAME="ProfileAddress" VALUE=""> <PARAM NAME="ProfilePort" VALUE="0"> <PARAM NAME="AllowNetworking" VALUE="all"> <PARAM NAME="AllowFullScreen" VALUE="false"> <PARAM NAME="AllowFullScreenInteractive" VALUE="false"> <PARAM NAME="IsDependent" VALUE="0"> </OBJECT> </DIV> UPDATE: So while writing this I worked out it was compatibility mode causing the issue. I'm not sure why exactly yet. I had been changing the compatibility mode of the print (drill) window NOT that of the base report. But obviously its the base report that renders the div and then copy's it verbatim across. So - it works fine in non-compatibility mode. However if you have it in compatibility mode it then doesn't render. WHY exactly? Not sure - as the opened window is in compatibility mode also when I checked so you'd like to think with no special metadata being set on the base report and none being set in the window it should behave the same. But no. Oh well. Unfortunately I need this working in both compatibility and non-compatibility so I'm going to have to keep looking.
-
Hi there, Long time user first time poster. I've been given a requirement to do some formatting and subsequent printing of a report. The long and short of which being that part of the process is taking the contents of my report main data div (ReportDataContainer) and writing it to a child window (drill). On the base report the charts are rendering without any issue. On the new print window when testing on my local instance the chart renders without issue. After deployment to our development branch the charts no longer render. Here's the JS code that's being used: - function PrintDrill() { var cssArray = document.getElementsByTagName('style'); var css = ""; for (var i = 0; i < cssArray.length; i++) { css += "<style type='text/css'>" + cssArray[i].innerHTML + "</style>"; } drill = window.open(); drill.document.write("<html>" + "<head>" + css + "<script type='text/javascript'>" + "function FC_Rendered(DOMId) { $(\"#\" + DOMId.split(\"_\")[0] + \"Loaded\").val('true'); } " + "<\/script>" + "<script type=\"text/javascript\" src='/CTWebScripts/Libraries/jquery-1.5.min.js'><\/script>" + "<script type=\"text/javascript\" src='/CTWebScripts/Libraries/jquery.color.js'><\/script>" + "</head>" + "<body>" + "<input type='hidden' id='divActualYearGraphLoaded' name='actualYearGraphLoaded' value='false' />" + "<input type='hidden' id='divParcGraphLoaded' name='parcGraphLoaded' value='false' />" + $("#ReportDataContainer").html() + "</body>"); setTimeout(finishedRendering, 2000); } var drill = null; function finishedRendering() { var loadedActualYear = $('#divActualYearGraphLoaded', drill.document).val(); var loadedParc = $('#divParcGraphLoaded', drill.document).val(); if (loadedActualYear == 'true' && loadedParc == 'true') { drill.location.reload(); setTimeout(printMyChild, 3000); } else { setTimeout(finishedRendering, 1000); } } function printMyChild() { drill.print(); } Now one would imagine if it works one place and not the other - it would imply the code is either correct or not handling a possible eventuality that probably it should. It COULD be related to settings on the hosting site.... and the one thing it shouldn't be is IE settings. Sooooo.... any thoughts on what could cause this behavior?