2012-02-08 22 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