2013-03-14 62 views
1

在我的項目中我有圖表和樹視圖,而頁面載入圖表更新不能正常工作意味着在樹視圖中只有兩個複選框在頁面載入中檢查,但圖表顯示所有字段values.i只需在頁面加載時顯示圖表中的複選框選中字段值(頁面加載後工作正常)。Treeview複選框選擇與圖形更新無法正常工作

這裏是小提琴:http://jsfiddle.net/RHh67/64/

我的圖表代碼:

$("#myChart").kendoChart({ 
    theme: $(document).data("kendoSkin") || "default", 
    dataSource: { 
     data: tmpData2, 
     sort: { 
      field: "date", 
      dir: "asc" 
     }, 
     schema: { 
      model: { 
       fields: { 
        date: { 
         type: "date" 
        } 
       } 
      } 
     } 
    }, 
    title: { 
     text: "My Date-aware Chart" 
    }, 
    legend: { 
     position: "bottom" 
    }, 
    seriesDefaults: { 
     type: "line", 
     labels: { 
      visible: true 
     }, 
     missingValues: "gap" 
    }, 
    series: series, 
    valueAxis: [{ 
     name: "A", 
     labels: { 
      format: "{0}%" 
     } 
    }, 
    { 
     name: "B", 
     labels: { 
      format: "{0}D" 
     } 
    }], 
    categoryAxis: { 
     type: "Date", 
     field: "date", 
     axisCrossingValue: [0, 1000] 
    } 

}); 

回答

2

定義redrawChart是刷新圖表與系列新作:

function redrawChart() { 
    var chart = $("#myChart").data("kendoChart"); 

    var checkedSeries = []; 

    $("#treeview").find(":checked").each(function() { 
     var nodeText = $(this).parent().parent().text(); 

     $.each(series, function (index, series) { 
      if (series.field == nodeText) { 
       checkedSeries.push(series); 
      } 
     }); 
    }); 

    chart.options.series = checkedSeries; 
    chart.refresh(); 
} 

此功能必須援引:

  1. 在你的樹上改變。
  2. 設置好初始可見序列後。

此外,將初始系列的選擇移到JavaScript代碼的末尾。我的意思是,首先初始化treeviewchart,然後才初始化初始值。

tree.dataItem(".k-item:nth(2)").set("checked", true); 
tree.dataItem(".k-item:nth(3)").set("checked", true); 
updateChks(); 
redrawChart(); 

完整的運行版本在這裏http://jsfiddle.net/OnaBai/RHh67/68/

+0

雅它的工作非常感謝你。 – user123 2013-03-15 13:01:53

+0

對不起,我必須問這個問題我不知道我在這裏問這裏如何更新在stackoverflow中的問題?我的詢問過程是錯誤的嗎? – user123 2013-03-15 13:03:56

+0

這些問題在metaexchange中被詢問。可能你沒有足夠的聲譽來編輯這個問題(我已經編輯它來更新鏈接到提琴) – OnaBai 2013-03-15 13:09:21