0

我需要帮助。我正在尝试使用数据库中的数据填充 highcharts。

这完美地工作:

    public ActionResult Index()
    {
        Highcharts chart1 = new Highcharts("chart1")
        .SetYAxis(new YAxis { Title = new YAxisTitle { Text = "Zmiana" } })
        .SetTitle(new Title { Text = "Zmiany wartości portfela w czasie" })
        .InitChart(new Chart { DefaultSeriesType = ChartTypes.Column })
        .SetLegend(new Legend { Enabled = false })
        .SetXAxis(new XAxis { Categories = new[] { "Styczeń", "Luty", "Marzec", "Kwiecień" } })
        .SetSeries(new Series { Data = new Data(new object[] { 1, 8, 9, 6 }), Name = "Miesiąc" });

但这不会:

public ActionResult Index()
        {
             Highcharts chart1 = new Highcharts("chart1")
            .SetYAxis(new YAxis { Title = new YAxisTitle { Text = "Zmiana" } })
            .SetTitle(new Title { Text = "Zmiany wartości portfela w czasie" })
            .InitChart(new Chart { DefaultSeriesType = ChartTypes.Column })
            .SetLegend(new Legend { Enabled = false })

            .SetXAxis(new XAxis { Type = AxisTypes.Datetime })
            .SetSeries(new[] 
                        { 
                            new Series 
                            { 
                                Name = "Miesiąc" ,
                                Data = new Data(db.Wyniki.Select(x=> new Point {X=x.ID, Y=x.ID}).ToArray())             
                            }
                        });

我有这个错误:

无法将类型“System.Int32”转换为类型“DotNet.Highcharts.Helpers.Number”。LINQ to Entities 仅支持转换 EDM 基元或枚举类型

我尝试了许多解决方案,但无法解决这个问题并用数据填充 highcharts。

4

1 回答 1

1

代替

Data = new Data(db.Wyniki.Select(x=> new Point {X=x.ID, Y=x.ID}).ToArray())

经过

Data = new Data(db.Wyniki.ToList().Select(x=> new Point {Y=x.ID}).ToArray())

可能会做这项工作;)

于 2014-07-31T09:11:16.987 回答