This thread is over a year old but I recently came across the same problem and eventually got it to work the way I wanted. What I had was a list of people and their start and end dates of working the the university college I work for. What I wanted was to show everyone who worked between user selectable years regardless of the start and end dates in the dataTable.
I had the dumb idea of using the control but not binding it to anything. A complete failure as nothing drew at all.
What I eventually did seems a bit long-winded but it works and as far as I can see works with no loss of speed.
I created a hidden div to hold a dataTable made from the original dataTable which I emptied using the views option
view: {
rows: [] // remove all rows from the view so it doesn't waste time rendering them
}
I then added an event listener to the slider control and got the min and max values and used that to filter another view of the data on both date columns and drew that to another div.
google.visualization.events.addListener(yearUserSlider, 'statechange', function () {
var state = yearUserSlider.getState();
var userLow = state.lowValue.getFullYear();
var userHigh = state.highValue.getFullYear()
var viewUserControls = new google.visualization.DataView(dataUserControls);
viewUserControls.setRows(viewUserControls.getFilteredRows([
{column: 3, maxValue: new Date(userHigh,0,0,)},
{column: 4, minValue: new Date(userLow,0,0,)}
]));
var userControlTimeline = new google.visualization.Timeline(document.getElementById('timelineUserControls_div'));
userControlTimeline.draw(viewUserControls, timelineOptions);