2013-03-28 73 views
3

目前,我有我的劍道圖表兩個步驟。第一個過程是允許用戶在圖表上選擇他們想要的數據集(系列)。然後他們選擇一個模板。模板是圖形設置ex(顏色主題,圖表類型線條,圓形等)。劍道圖表動態系列

目前,如果用戶選擇他們想要我返回系列信息圖表和圖形,然後用模板設置填充數據集。

我也允許用戶動態更改模板設置。例如,線條,面積,圓等條形圖。他們也可以改變主題。當第一負載設置的問題變得,是我通過一系列的信息是:

{ 
    [name: "string", data: []], 
    [name: "string", data: []] 
} 

當我檢查一系列對象上我看到下面添加到對象模板變更後:

{ 
    [name: "string", 
    data: [], 
    type: "area", 
    color: "ff6800", 
    ect... 
    ], 
    [name: "string", 
    data: [], 
    type: "area", 
    color: "ff6800", 
    ect... 
    ], 
} 

問題變成我可以修改我的對象類型,以正確的選擇的類型。我甚至可以將每個系列的顏色值更改爲不同的顏色。但是,因爲我使用的是劍道的主題,圖表背景會改變,但隨後該系列顏色慣於比賽。我可以想出一個函數來爲圖表選擇背景顏色,然後選擇你想要的系列顏色。但如果可能的話,我寧願使用kendo方法。

我也想,如果我清除該對象,只是用我傳遞它可以工作的設置和數據。但是,我不想每次頁面級別改變時都去數據庫,我也注意到我的對象,即使我創建一個臨時對象,給出了所有的圖表屬性。

預先感謝您!

回答

4

我在Kendo論壇上問過這個問題,並收到以下答案。

在傳遞圖表選項之前,您需要保留圖表選項的深層副本。這樣,您可以僅使用原始選項重新創建圖表。

var options = { ... }; 

$("#chart").kendoChart(
    // No side effects on options 
    $.extend(true, {}, options) 
); 

如果你看一下例子,這是有道理做這種方式,因爲那麼當頁面上的不同事件發生時,您可以修改您的圖表。例如,當我想更改主題或圖表類型時。我可以修改:

options.seriesDefaults = { type = "bar" }; 

這裏是由Tsvetomir提供一個例子鏈接:http://jsbin.com/ulohof/1/edit

這裏是一個問題的鏈接劍道論壇:http://www.kendoui.com/forums/dataviz/chart/kendo-chart-dynamic-series.aspx