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.

Reply via email to