Dear Andrew, Thank you so much for your explanation and help. I manage to get started on creating a events listener function, but I am little unclear of how do I setup 'table' to read drawVisualisation2() function, when the user trigger the controls. Will I also need to create the same controls and table wrapper in the drawVisualisation2() function as well?
My aim is to -- render the table from drawVisualisation(), when the page loads, but when the user trigger the controls, the control will filter data, from the drawVisualisation2() function and render table using. //100,000 records of data function drawVisualization2(dataValues, chartTitle, columnNames, categoryCaption) { if (dataValues.length < 1) return; var data = new google.visualization.DataTable(); data.addColumn('string', columnNames.split(',')[0], 'name'); data.addColumn('number', columnNames.split(',')[1], 'price'); data.addColumn('string', columnNames.split(',')[2], 'type'); data.addColumn('datetime', columnNames.split(',')[3], 'date'); for (var i = 0; i < dataValues.length; i++) { var date = new Date(parseInt(dataValues[i].Date.substr(6), 10)); data.addRow([dataValues[i].ColumnName, dataValues[i].Value, dataValues[i].Type, date]); } } //==============================================================================================================================\\\ // daily 100 records of data function drawVisualization(dataValues, chartTitle, columnNames, categoryCaption) { if (dataValues.length < 1) return; var data = new google.visualization.DataTable(); data.addColumn('string', columnNames.split(',')[0], 'name'); data.addColumn('number', columnNames.split(',')[1], 'price'); data.addColumn('string', columnNames.split(',')[2], 'type'); data.addColumn('datetime', columnNames.split(',')[3], 'date'); for (var i = 0; i < dataValues.length; i++) { var date = new Date(parseInt(dataValues[i].Date.substr(6), 10)); data.addRow([dataValues[i].ColumnName, dataValues[i].Value, dataValues[i].Type, date]); } var monthformatter = new google.visualization.DateFormat({ pattern: "dd-MMM-yyyy" }); monthformatter.format(data, 3); var categoryPicker = new google.visualization.ControlWrapper({ 'controlType': 'CategoryFilter', 'containerId': 'control2', 'options': { 'filterColumnLabel': columnNames.split(',')[3], 'filterColumnIndex': '3', 'useFormattedValue': true, 'ui': { 'labelStacking': 'horizontal', 'allowTyping': false, 'allowMultiple': false, 'caption': 'Select Date Range', 'label': 'Date', } } }); // Define a StringFilter control for the 'Name' column var stringFilter = new google.visualization.ControlWrapper({ 'controlType': 'StringFilter', 'containerId': 'control1', 'options': { 'filterColumnLabel': columnNames.split(',')[0] } }); var table = new google.visualization.ChartWrapper({ 'chartType': 'Table', 'containerId': 'TableContainer', 'options': { 'width': '900px' } }); //dummy table holder var dummy = new google.visualization.ChartWrapper({ 'chartType': 'Table', 'containerId': 'DummyTable', 'options': { 'width': '300px', 'sort': 'disable' }, 'view': { 'rows': [] } }); // Create a dashboard var dashboard = new google.visualization.Dashboard(document.getElementById('PieChartExample')); google.visualization.events.addOneTimeListener(dummy, 'ready', function () { google.visualization.events.addOneTimeListener(table, 'state', function () { // get the data for the table var dt = dummy.getDataTable(); //var dt = table.getDataTable(); table.setDataTable(dt); table.draw(); }); }); // bind the control dashboard.bind([categoryPicker, stringFilter], [dummy]); // Draw the dashboard dashboard.draw(data); } Any further explanation, in what other function guides may I require, to complete this task. Please note, I am calling data from sql query, if you would like to see the server code, please let me know. Any advise, would be very much appreciated. Thank you for your time and help. -- 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 google-visualization-api+unsubscr...@googlegroups.com. To post to this group, send email to google-visualization-api@googlegroups.com. Visit this group at http://groups.google.com/group/google-visualization-api. For more options, visit https://groups.google.com/d/optout.