2013-12-20 47 views
0

進出口試圖使用getFilteredRows(過濾器)method.I設置有最小值和最大值作爲列值在可視化數據表過濾柱「時間」,谷歌可視化數據表getFilteredRows方法

var timesheet_dataTable = new google.visualization.DataTable(data, 0.6); 
var time_filter = timesheet_dataTable.getFilteredRows([{column: 3, minValue: '2:28 PM', maxValue: '3:01 PM'}]); 

,然後創建數據視圖使用setRows方法來顯示數據,但顯示的表格沒有過濾數據。我使用其他列值進行了檢查並收到了正確的輸出。因此,在此類型的過濾器中是否支持'timeofday'數據類型? 有沒有其他方法可以根據時間過濾柱子?

更新: 這是格式化的代碼和傳遞值到可變STARTTIME的可視化table.Value會像'14:28:12' 。在可視化顯示錶

val datetimeStart: String = "Date(0,0,0," 
val datetimeEnd: String = ")" 
val simpleDateTimeFormat = new SimpleDateFormat("HH,mm,ss") 
Json.obj("v" -> JsString(datetimeStart + (simpleDateTimeFormat.format(tsl.startTime)).toString() + datetimeEnd)) 

之前我已經使用格式爲:

var formatter_short1 = new google.visualization.DateFormat({pattern:'h:mm aa'}); 
formatter_short1.format(timesheet_dataTable,3); 

回答

2

的「一個timeofday」數據類型由過濾器方法的支持,你只需要正確的使用它:

// filter column 3 from 2:28PM to 3:01PM 
var time_filter = timesheet_dataTable.getFilteredRows([{ 
    column: 3, 
    minValue: [14, 28, 0, 0], 
    maxValue: [15, 1, 0, 0] 
}]); 
var view = new google.visualization.DataView(timesheet_dataTable); 
view.setRows(time_filter); 

確保使用您創建的視圖繪製圖表,而不是DataTable:

chart.draw(view, options); 

[編輯 - 例如用於過濾「日期時間」類型列]

// filter column 3 from 2:28PM to 3:01PM 
var time_filter = timesheet_dataTable.getFilteredRows([{ 
    column: 3, 
    minValue: new Date(0, 0, 0, 14, 28, 0, 0), 
    maxValue: new Date(0, 0, 0, 15, 1, 0, 0) 
}]); 
var view = new google.visualization.DataView(timesheet_dataTable); 
view.setRows(time_filter); 
+0

:我與上述步驟嘗試過不work.Forgot提及我曾申請日期格式爲時間,以顯示在表格爲「var formatter_short = new google.visualization.DateFormat({pattern:'h:mm:ss aa'});」。因此,我必須根據時間列過濾表格。 – mkandro

+0

格式化程序不應該有所作爲。我需要看到一個完整的代碼示例來證明它們的問題,以幫助您診斷;用代碼更新你的問題。 – asgallant

+0

:我更新了我的問題。 – mkandro