Hi David, sorry for the late answer. Here are a few suggestions: 1. hiding a chart depending on which categories have been picked from the category pickers. The idea is that whenever the dashboard fires a 'ready' event (aka, it was redrawn because part of its state changed as a consequence of values chosen from the category pickers), you inspect the state of the category pickers (via their getState() method) and hide the chart depending on whether some values have been chosen or not.
I've written this example (https://gist.github.com/1122276) that keeps the barchart hidden until at least a value has been picked from each category picker. Is that similar to what you are trying to achieve? Note that in the example I'm just hiding the chart container (the chart is still being drawn even if hidden). A more clean solution (not drawing the chart at all when hidden) can be crafted but it takes a few extra lines of code. Let me know if you need it. 2. Disable category pickers 'Choose a value' option and force a default state. You can initialize the categorypickers with a default state using the 'state' option of its managing ControlWrapper. See this example<http://savedbythegoog.appspot.com/?id=c40fa8dd5ab59e5c68402809608ef6278f049faa>where the picker is initialized on the 'CPU' value. You can't however, for the moment, disable the 'Choose a value' option. I'm aware of how useful the setting would be, I already noticed this as a feature request. 3. Errors on the controls. I'd have to see a working example of your page (even with fake data) reproducing the errors to understand what the issue is. Note however that we are investigating ongoing issues<https://groups.google.com/forum/#!topic/google-visualization-api/viE9fVWQXsM>with the version 1.1 of the visualization APIs. Make sure you are using version 1.0 in your google.load() statement, like in the examples I've pasted. 4. Other things. In the snippet you provided, your usage of the controls API is a bit out of the ordinary. You feed a datasource url to each control and chart. Although this might work (assuming all controls and charts receive the same spreadsheet), it is preferable to hand over a DataTable directly to the dashboard instance: - use a google.visualization.Query<http://code.google.com/apis/chart/interactive/docs/queries.html>to fetch the DataTable from the remote datasource once. - assemble the dashboard - hand over the datatable to the dashboard as a whole via dashboard.draw(datatable) (after the bind section). This way is also more efficient in terms of number of requests to the remote source. Let me know if this helps, /R. -- You received this message because you are subscribed to the Google Groups "Google Visualization API" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-visualization-api/-/oZxEGuYpZg4J. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-visualization-api?hl=en.
