There's nothing in the API that will handle this for you. You will have to set up a service on your server to create downloads for your data. You can also handle data pagination on your server, though with the ability to filter data on the page, you will likely want to use the control to trigger a new data pull, passing in the filtering information so that you get back the correct results (instead of filtering only the data that was sent from the server in the current data page; you will need to do something similar if you allow users to sort the data).
Saving the charts as images is a bit trickier. There is a thread here<https://groups.google.com/d/msg/google-visualization-api/YTD_JxX_RFc/yt7e6JIGwu0J>that shows how to do it, but this method only works in Chrome and Firefox (and sometimes [but usually not] IE 9+) and it requires users to manually rename the files that get downloaded. Because the charts use VML instead of SVG for IE8 and older, this method will not work in IE 7 or 8. On Friday, July 19, 2013 5:13:06 PM UTC-4, Ragini Pandey wrote: > > Thanks a lot. It works. > > 1. Is there a way we can download the filtered data as a result of > selections and the graphs as images? > 2. Is it possible to get the data in increments depending on selections > if we are getting the data from database. The reason I am asking this is > that the data I want to use are huge and I love google visualization so > definetely wants to use it. But with huge data loading is a big problem. > > Ragini > > On Friday, 19 July 2013 14:31:53 UTC-4, asgallant wrote: >> >> There is nothing wrong with your javascript - the problem is CSS. If you >> examine the layout (using something like Chrome's element inspector), you >> can see that because of the floats on the control divs, the table div is >> overlaying them in the layout, which is preventing the click event from >> your mouse clicks from registering on the control. If you clear the floats >> before the table div, then the problem should be fixed: >> >> <div id="dashboard_div" style="padding-top: 50px; position: relative;"> >> <div style="float: left; padding-right: 20px; min-height: 100px;" >> id="platformPicker_div"></div> >> <div style="float: left; padding-right: 20px; min-height: 100px; >> position: relative;" id="altPicker_div"></div> >> <div style="float: left;" id="chart_div"></div> >> <!-- clear the floats --> >> <div style="clear: both;"></div> >> <div id="table_div"></div> >> </div> >> >> On Friday, July 19, 2013 1:58:26 PM UTC-4, Ragini Pandey wrote: >>> >>> Here is the link for you to view- >>> http://medeolinx.com/BASP/vcf-details-visualize.php. >>> >>> It takes a sec to load. I am also displaying the data returned in the >>> alert box. (For now only small test data but it will be a lot more). Also >>> for now there is one control but I will add more controls to dashboard >>> >>> The code >>> <script type="text/javascript"> >>> google.load('visualization', '1.0', {'packages':['controls']}); >>> $(document).ready(function (){ >>> // Set a callback to run when the Google Visualization API >>> is loaded. >>> //alert("loaded"); >>> google.setOnLoadCallback(visualizebase); >>> >>> var vcffilename='vcf1'; >>> function visualizebase() { >>> var jsonDataResult = $.ajax({ >>> url:"getvcfvisualizeData.php", >>> data:{vcffilename:vcffilename, >>> visualtype:'base'}, >>> dataType: "text", >>> async: false, >>> success: ( >>> function(data) { >>> >>> alert(data); >>> alert("loaded"); >>> var tData = >>> google.visualization.arrayToDataTable(eval(data)); >>> // Create a dashboard. >>> var dashboard = new >>> google.visualization.Dashboard(document.getElementById('dashboard_div')); >>> >>> >>> // Define a category picker for the 'Go >>> Name' column. >>> var platformPicker = new >>> google.visualization.ControlWrapper({ >>> 'controlType': 'CategoryFilter', >>> 'containerId': 'platformPicker_div', >>> 'options': { >>> 'filterColumnLabel': 'Reference', >>> 'ui': { >>> //'allowTyping': true, >>> 'allowMultiple': true, >>> //'sortValues':true, >>> 'labelStacking':'vertical', >>> 'state': {'selectedValues': ['A', >>> 'C']}, >>> 'selectedValuesLayout': >>> 'belowStacked' >>> } >>> } >>> >>> }); >>> >>> var altPicker = new >>> google.visualization.ControlWrapper({ >>> 'controlType': 'CategoryFilter', >>> 'containerId': 'altPicker_div', >>> 'options': { >>> 'filterColumnLabel': 'Alt', >>> 'ui': { >>> 'allowMultiple': true, >>> 'labelStacking':'vertical', >>> 'selectedValuesLayout': >>> 'belowStacked' >>> } >>> } >>> >>> }); >>> >>> >>> >>> var table = new >>> google.visualization.ChartWrapper({ >>> 'chartType': 'Table', >>> 'containerId': 'table_div', >>> 'options': { >>> 'page': 'enable', >>> 'pageSize': 20, >>> 'pagingSymbols': {prev: 'prev', >>> next: 'next'}, >>> 'pagingButtonsConfiguration': 'auto', >>> 'showRowNumber':true >>> } >>> }); >>> >>> dashboard.bind(altPicker, table); >>> >>> dashboard.draw(tData); >>> >>> }) >>> }); >>> } >>> >>> }); >>> </script> >>> >>> >>> BTW is visualization able to handle large amounts of data? How can I >>> solve performance issue. >>> >>> >>> Ragini >>> >>> On Thursday, 18 July 2013 17:37:14 UTC-4, asgallant wrote: >>>> >>>> I've never heard of that behavior before. Can you post your code or a >>>> link to the page so I can check it out? >>>> >>>> On Thursday, July 18, 2013 4:07:56 PM UTC-4, Ragini Pandey wrote: >>>>> >>>>> Hi, >>>>> >>>>> I am trying to use Dashboard with Category Filter and table controls. >>>>> The problem I am facing with the Category filter is it gets disabled once >>>>> the entire page is loaded with table. I can select and pick the value >>>>> while >>>>> the table is still loading and it filters the data in table as well. But >>>>> after the table is displayed the Category filter gets disabled (not able >>>>> to >>>>> select/display filter values). >>>>> Please help. Am not sure what's going on. >>>>> >>>>> Thanks >>>>> Ragini >>>>> >>>> -- You received this message because you are subscribed to the Google Groups "Google Visualization API" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-visualization-api. For more options, visit https://groups.google.com/groups/opt_out.
