Search code examples
c#highchartsdotnethighcharts

Creating an object array of two value arrays dynamically – application: highcharts dotnet


I'm hoping to get a quick solution to this.

Here is a snippet of the code that works when creating a series:

  Series SeriesABC2 = new Series
            {
                Name = '#' + HakuAlueet[1],
                Data = new Data(
                    new object[]{ 
                            new[] {  300, 440 },
                            new[] {  400, 540 }
                            }),
                PlotOptionsArearange = new PlotOptionsArearange { Visible = true, LineWidth = 0, FillOpacity = 0.3 },
                Type = ChartTypes.Arearange
            };

Now the plan is to make this dynamic creating the values in the object "new[] { 300, 440 }, new[] { 400, 540 }" inside .net C#. I'm quite new to C# so I'm not quite sure of the naming convention, but I seem to need to make an array object of an two value arrays. How would I go about this?

I've tried countless ways of managing this but just haven't found a solution that would be acceptable to dotnet.Highcharts. Thanks!


Solution

  • string[] books= source.Select(a => a.bookName).ToArray();
    object[] visits = source.Select(a => (object)a.Visits).ToArray();
    
    DotNet.Highcharts.Highcharts chart = new DotNet.Highcharts.Highcharts("chart")
                     .InitChart(new Chart { DefaultSeriesType = ChartTypes.Bar,
                                            Width = 900 
                      }).SetPlotOptions(new PlotOptions {
                           Bar = new PlotOptionsBar {
                                         ColorByPoint = true,
                                         DataLabels = new PlotOptionsBarDataLabels {
                                                              Enabled = true }
                                         }
                     }).SetXAxis(new XAxis { Categories = books,
                     }).SetSeries(new Series
                             {
                                 Data = new Data(visits),
                                 Name = "User Book Visits"
                             });
    lb_chart.Text = chart.ToHtmlString();
    

    Here source contain data where I am querying some dynamic content. This is working and hope this will also help you.