【问题标题】:DotnetHighCharts - Multiple Charts positioned on one pageDotnet HighCharts - 位于一页上的多个图表
【发布时间】:2014-06-18 12:25:44
【问题描述】:

我必须在一页上显示 3 个图表,作为仪表板的一部分。

dotnetHighCharts 演示项目包含多个图表的“操作方法”。 然而,这似乎假设图表将简单地放在彼此下方。 我的视图有很多 html 格式,我想在容器中呈现图表。

所以在我的控制器中我有:

public ActionResult Dashboard()
    {
        Highcharts chartLine = Chart_Line();
        Highcharts chartPie = Chart_Pie();

        return View(new Container(new[] { chartLine, chartPie }));
    }

但不是简单地将其放在我的视图中:

@model DotNet.Highcharts.Container

@(Model)

我必须将特定图表放在页面的特定位置。 所以在我看来,我希望做一些类似@(Model[1]) 的操作来显示第一个图表等。

我也尝试过创建视图模型:

public class ChartsModel
{
    public Highcharts Chart1 { get; set; }
    public Highcharts Chart2 { get; set; }
    public Highcharts Chart3 { get; set; }
}

希望我能够在我的视图中做到这一点:

<div> @model.Chart1 </div>

但这似乎也不可能。

无论如何,我可以在一个页面上显示多个 DotNetHighCharts,同时控制它们在视图中的放置位置?

【问题讨论】:

    标签: asp.net-mvc dotnethighcharts


    【解决方案1】:

    控制器

    public ActionResult Dashboard()
    {
        //NOTE: chart names must be unique!
        Highcharts chartLine = Chart_Line();
        Highcharts chartPie = Chart_Pie();
        Highcharts chartColumn = Chart_Column();
    
        var charts = new ChartsModel
        {
            Chart1 = chartLine,
            Chart2 = chartPie,
            Chart3 = chartColumn 
        }
    
        return View(charts);
    }
    

    查看

    @model ChartsModel
    
    <div>@Model.Chart1</div>
    <div>@Model.Chart2</div>
    <div>@Model.Chart3</div>
    

    在您的Chart_Line() 方法中,当您创建 Highcharts 时,您应该设置图表的唯一名称,

    例如:

    Highcharts chart = new Highcharts("uniqueId")
    

    【讨论】:

    • 对不起,我应该提到我这样做时遇到的奇怪行为;在这个阶段只使用 2 个图表。当我将 chart1 添加到我的视图时,它可以工作。当我添加chart2时,由于某种原因,它显示chart2应该显示第一个图表,而chart2的位置没有任何内容(chart1根本不显示)。如果我只将 chart2 添加到视图中,它会按应有的方式显示该图表。知道为什么将两者都添加到视图中时它会表现得如此奇怪吗?
    • 在你的Chart_Line()方法中,当你创建Highcharts时,你应该设置chart的唯一名称,例如:Highcharts chart = new Highcharts("uniqueId")
    • 请分享您的Chart_Line()Chart_Pie() 方法内容。
    • 非常感谢!这就是问题所在,我没有意识到这些方法也应该使用唯一的图表 ID
    猜你喜欢
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2013-10-16
    相关资源
    最近更新 更多