2012-02-08 41 views

回答

0

你必須與html頁面一個div該ID container下降圖表到(因爲這條線在圖表配置的:。renderTo: 'container'的Highcharts論壇是爲Highcharts支持非常有幫助

當調試這一點,我會嘗試採取先圖表出來的ASP頁面並只是在striaghtforward html中生成它,它將更容易看到發生了什麼問題

+0

您好,感謝您的回覆。我只是忘了在這裏發佈關於我的容器的代碼,但它存在!問題來自其他地方。 – Slrg 2012-02-08 10:19:50

1

既然你se他們要使用ASP .Net,也許你應該嘗試使用Highcharts.Net。 C#庫允許您在不編寫任何JavaScript代碼的情況下創建Highcharts,只需在代碼隱藏文件中編寫C#代碼即可。這對於從SQL數據源提取數據非常有用。

事實上,從SQL源提取數據進行了討論here,如果你想使用一個餅圖的樣本,你總是可以從here

+0

感謝您的建議。 其實我的問題是當我點擊它時得到餅圖的區域ID ... 這就是爲什麼我試圖在我的HTML表中傳遞一個標記... – Slrg 2012-02-09 10:17:41

+0

如果您使用Highcharts .Net API ,您可以使用點對象而不是簡單的數值來表示餅圖中的每個切片。對於每個點對象,設置可在JavaScript單擊事件中檢索的ID屬性。 – Rahul 2012-02-17 19:59:08

+0

...有點類似於[本示例](http://jsfiddle.net/uWAvP/2492/) – Rahul 2012-02-17 20:15:26

2

下載包含的例子示例項目另一種簡單的方式一起工作Highcharts和ASP.NET將使用DotNet.Highcharts庫。下面是餅圖的例子:

Highcharts chart = new Highcharts("chart") 
      .InitChart(new Chart { PlotShadow = false }) 
      .SetTitle(new Title { Text = "Browser market shares at a specific website, 2010" }) 
      .SetTooltip(new Tooltip { Formatter = "function() { return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %'; }" }) 
      .SetPlotOptions(new PlotOptions 
          { 
           Pie = new PlotOptionsPie 
             { 
              AllowPointSelect = true, 
              Cursor = Cursors.Pointer, 
              DataLabels = new PlotOptionsPieDataLabels 
                 { 
                  Color = ColorTranslator.FromHtml("#000000"), 
                  ConnectorColor = ColorTranslator.FromHtml("#000000"), 
                  Formatter = "function() { return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %'; }" 
                 } 
             } 
          }) 
      .SetSeries(new Series 
         { 
          Type = ChartTypes.Pie, 
          Name = "Browser share", 
          Data = new Data(new object[] 
              { 
               new object[] { "Firefox", 45.0 }, 
               new object[] { "IE", 26.8 }, 
               new Point 
               { 
                Name = "Chrome", 
                Y = 12.8, 
                Sliced = true, 
                Selected = true 
               }, 
               new object[] { "Safari", 8.5 }, 
               new object[] { "Opera", 6.2 }, 
               new object[] { "Others", 0.7 } 
              }) 
         }); 

這段代碼的結果是一樣的highcharts同一演示:http://www.highcharts.com/demo/pie-basic

如果調用JavaScript函數,當點擊在圖表上,你可以做到這一點只是這樣的:

Pie = new PlotOptionsPie 
       { 
        Point = new PlotOptionsPiePoint 
          { 
           Events = new PlotOptionsPiePointEvents 
             { 
              Click = "OnPiePointClick" 
             } 
          } 

...或者如果它是簡單的功能,可以直接將其添加:

Click = "function() { alert (this.category +': '+ this.y); }" 

欲瞭解完整代碼或更多餡餅示例,請下載示例項目:http://dotnethighcharts.codeplex.com/releases/view/80650

+0

非常感謝,需要更深入地研究! – Slrg 2012-02-10 08:42:28

+0

只是一個問題:我把它放在我的代碼後面(Page_Load fonctions測試),我將Dll添加到我的項目中。一切正常,但沒有任何反應......沒有圖形出現......還有什麼可以做的嗎? 在此先感謝 – Slrg 2012-02-10 09:03:50

+0

您可以在該項目的主頁上找到一個簡單的示例:http://dotnethighcharts.codeplex.com/。無論如何,你需要在你的頁面上有一個Literal控件''然後你可以像這樣傳遞圖表的HtmlString:'ltrChart .Text = chart.ToHtmlString();' – Vangi 2012-02-10 11:02:44