0
我正在處理註釋時間線問題。 我必須繪製一些圖表,這取決於用戶所在的選項卡,所以當選項卡更改時,我清理當前圖表並繪製新數據。但如何做到這一點?如何清理AnnotatedTimeline gwt可視化圖表
現在我正在刪除所有行,但它不起作用。 有人可以幫我嗎?
這裏是代碼:
...
//Creating Columns
dataTable.addColumn(ColumnType.DATETIME, "Time");
dataTable.addColumn(ColumnType.NUMBER, "Realtime Consumption");
dataTable.addColumn(ColumnType.NUMBER, "Historical Consumption");
//Create options
options.setDisplayAnnotations(false);
options.setDisplayZoomButtons(false);
options.setScaleType(AnnotatedTimeLine.ScaleType.FIXED);
options.setLegendPosition(AnnotatedTimeLine.AnnotatedLegendPosition.SAME_ROW);
options.setAllowRedraw(true);
options.setDisplayRangeSelector(false);
options.setFill(30);
//to parse the time
DateTimeFormat dtf = DateTimeFormat.getFormat("hh:mm:ss");
//For each item of the list
for(int i = 0; i < list.size(); i++){
//get date
Date date = new Date(list.getTimeAt(i));
//get hh:mm:ss
String time = date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();
//add row
dataTable.addRow();
dataTable.setValue(dataTable.getNumberOfRows() - 1, 0, dtf.parse(time));
dataTable.setValue(dataTable.getNumberOfRows() - 1, 2, list.getDataAt(i));
}
/**
* To clean the chart
*/
public void cleanChart(){
//Remove all rows
this.dataTable.removeRows(0, dataTable.getNumberOfRows());
//Redraw the chart
this.draw(this.dataTable, this.options);
}
感謝, 毛裏西奧
這是很奇怪,但我做到了(這似乎沒關係,因爲我創建另一個數據表),它仍然無法工作。舊數據繼續存在。
我有一個擴展AnnotatedTimeLine一類,現在的清潔方法是:
/**
* Method to clean the annotated time line
*/
public void clean() {
//Create new table
this.dataTable = DataTable.create();
//Create columns
this.dataTable.addColumn(ColumnType.DATETIME, "Time");
this.dataTable.addColumn(ColumnType.NUMBER, "Data 1");
this.dataTable.addColumn(ColumnType.NUMBER, "Data 2");
//Redraw the chart with the same options
this.draw(this.dataTable, this.options);
}
任何想法?
謝謝!
你可以嘗試 '公共無效乾淨(){ //創建新表格 DataTable dataTable = DataTable.create(); (創建列 )this.dataTable.addColumn this.dataTable.addColumn(ColumnType.NUMBER,「Data 1」); this.dataTable.addColumn(ColumnType.NUMBER,「Data 2」); //使用相同的選項重繪圖表 this.draw(dataTable,this.options); }' – Munawar
它還沒有工作.. 'public void clean(){ DataTable data = DataTable.create(); data.addColumn(ColumnType.DATETIME,「Time」); data.addColumn(ColumnType.NUMBER,「實時消費」); data.addColumn(ColumnType.NUMBER,「Historical Consumption」); this.draw(data,this.options); this.dataTable = data; }' – banduk
沒有人有更多的想法? – banduk