Kendo ui 为什么我的剑道图没有显示任何数据,但序列是在乐根中呈现的

Kendo ui 为什么我的剑道图没有显示任何数据,但序列是在乐根中呈现的,kendo-ui,kendo-asp.net-mvc,kendo-dataviz,kendo-chart,Kendo Ui,Kendo Asp.net Mvc,Kendo Dataviz,Kendo Chart,我正在使用MVC包装器处理剑道图,我需要根据模型中的数据在运行时向其添加序列 当图表即将呈现时,我已经验证了我的模型是否包含有效数据 视图的模型是一个图表小部件对象,它包含一个系列列表 这只是一个图表系列的列表 预算图表小部件 namespace STC.Widgets.Budgeting { using System; using System.Collections.Generic; using Budget; using Extensions; us

我正在使用MVC包装器处理剑道图,我需要根据模型中的数据在运行时向其添加序列

当图表即将呈现时,我已经验证了我的模型是否包含有效数据

视图的模型是一个图表小部件对象,它包含一个系列列表

这只是一个图表系列的列表

预算图表小部件

namespace STC.Widgets.Budgeting
{
    using System;
    using System.Collections.Generic;
    using Budget;
    using Extensions;
    using Helpers;

    public class BudgetChartWidget 
    {
        public BudgetChartWidget()
        {
            SeriesList = new List<IBudgetChartSeries>();
        }

        public List<IBudgetChartSeries> SeriesList { get; set; }
        public string ChartTitle { get; set; }
    }
}

**Budget Chart Series**

namespace STC.Widgets.Data.Budgeting
{
    using System.Collections.Generic;

    public class BudgetChartSeries : IBudgetChartSeries
    {
        public BudgetChartSeries(string seriesName)
        {
            Values = new List<IChartValue>();
            SeriesName = seriesName;
        }

        public string SeriesName { get; set; }

        public List<IChartValue> Values { get; set; }
    }
}
@using STC.Widgets.Data.Budgeting
@model STC.Widgets.Budgeting.BudgetChartWidget

<div>
    @(Html.Kendo().Chart(Model.SeriesList)
          .Theme((string) ViewBag.ThemeName)
          .Name("BudgetViewer" + 1)          
          .Series(series =>
          {
              foreach (var item in Model.SeriesList)
              {
                  series.Column(item.Values).Field("Value").CategoryField("DisplayValue").Name(item.SeriesName);                                    
              }
          })
          .Legend(legend => legend.Position(ChartLegendPosition.Bottom).Visible(true)) 
          .ValueAxis(axis => axis.Numeric()
              .MajorGridLines(lines => lines.Visible(true))
              .NarrowRange(true)
              .Labels(labels => labels.Format("{0:N0}"))
              .Line(line => line.Visible(true))
              .Crosshair(crosshair => crosshair.Visible(true)
                  .Tooltip(t => t.Visible(true)))
          )
          .CategoryAxis(axis => axis
              .Labels(labels => labels.Rotation(-90))
              .MajorGridLines(lines => lines.Visible(false))
              .Crosshair(crosshair => crosshair.Visible(true)
                  .Tooltip(t => t.Visible(true)))
          )
          .Tooltip(tooltip => tooltip.Visible(true).Format("{0:N0}").Shared(true)))
</div>
图表的局部视图

namespace STC.Widgets.Budgeting
{
    using System;
    using System.Collections.Generic;
    using Budget;
    using Extensions;
    using Helpers;

    public class BudgetChartWidget 
    {
        public BudgetChartWidget()
        {
            SeriesList = new List<IBudgetChartSeries>();
        }

        public List<IBudgetChartSeries> SeriesList { get; set; }
        public string ChartTitle { get; set; }
    }
}

**Budget Chart Series**

namespace STC.Widgets.Data.Budgeting
{
    using System.Collections.Generic;

    public class BudgetChartSeries : IBudgetChartSeries
    {
        public BudgetChartSeries(string seriesName)
        {
            Values = new List<IChartValue>();
            SeriesName = seriesName;
        }

        public string SeriesName { get; set; }

        public List<IChartValue> Values { get; set; }
    }
}
@using STC.Widgets.Data.Budgeting
@model STC.Widgets.Budgeting.BudgetChartWidget

<div>
    @(Html.Kendo().Chart(Model.SeriesList)
          .Theme((string) ViewBag.ThemeName)
          .Name("BudgetViewer" + 1)          
          .Series(series =>
          {
              foreach (var item in Model.SeriesList)
              {
                  series.Column(item.Values).Field("Value").CategoryField("DisplayValue").Name(item.SeriesName);                                    
              }
          })
          .Legend(legend => legend.Position(ChartLegendPosition.Bottom).Visible(true)) 
          .ValueAxis(axis => axis.Numeric()
              .MajorGridLines(lines => lines.Visible(true))
              .NarrowRange(true)
              .Labels(labels => labels.Format("{0:N0}"))
              .Line(line => line.Visible(true))
              .Crosshair(crosshair => crosshair.Visible(true)
                  .Tooltip(t => t.Visible(true)))
          )
          .CategoryAxis(axis => axis
              .Labels(labels => labels.Rotation(-90))
              .MajorGridLines(lines => lines.Visible(false))
              .Crosshair(crosshair => crosshair.Visible(true)
                  .Tooltip(t => t.Visible(true)))
          )
          .Tooltip(tooltip => tooltip.Visible(true).Format("{0:N0}").Shared(true)))
</div>
@使用STC.Widgets.Data.Budgeting
@模型STC.Widgets.Budgeting.BudgetChartWidget
@(Html.Kendo().Chart(Model.SeriesList)
.Theme((字符串)ViewBag.ThemeName)
.名称(“预算视图”+1)
.系列(系列=>
{
foreach(Model.SeriesList中的var项)
{
series.Column(item.Values).Field(“Value”).CategoryField(“DisplayValue”).Name(item.SeriesName);
}
})
.Legend(Legend=>Legend.Position(ChartLegendPosition.Bottom)。可见(true))
.ValueAxis(axis=>axis.Numeric()
.MajorGridLines(lines=>lines.Visible(true))
.窄范围(真)
.Labels(Labels=>Labels.Format(“{0:N0}”))
.Line(Line=>Line.Visible(true))
.Crosshair(Crosshair=>Crosshair.Visible(true)
.工具提示(t=>t.Visible(true)))
)
.CategoryAxis(轴=>轴
.标签(标签=>标签.旋转(-90))
.MajorGridLines(lines=>lines.Visible(false))
.Crosshair(Crosshair=>Crosshair.Visible(true)
.工具提示(t=>t.Visible(true)))
)
.Tooltip(Tooltip=>Tooltip.Visible(true).Format(“{0:N0}”).Shared(true)))
当我运行此程序时,系列显示在底部图例中,但图形中没有显示任何数据

我已经检查过了,没有Javascript错误

当我使用Internet Explorer查看图表的来源时,我可以看到数据就在那里

我看不出我创建每个系列的方式有任何错误,我甚至尝试了各种传递参数的方式

唯一与我的情况相关的是我正在使用的

有人能看看我是否遗漏了一些非常明显的东西吗


Paul

我刚刚遇到了一个类似的问题,在我的例子中,最初没有显示图表,但当我单击图例时,图表按预期显示。检查后,图表最初似乎没有正确调整大小

<div class="chart-wrapper">
    @(Html.Kendo().Chart(...)
    .....
</div>

@(Html.Kendo().Chart(…)
.....

$(document).ready(function(){kendo.resize($(“.chart wrapper”);});
似乎解决了这个问题。

我刚刚遇到了一个类似的问题,在我的例子中,最初没有显示图表,但当我单击图例时,图表按预期显示。检查后,似乎图表最初没有正确调整大小

<div class="chart-wrapper">
    @(Html.Kendo().Chart(...)
    .....
</div>

@(Html.Kendo().Chart(…)
.....

$(document).ready(函数(){kendo.resize($(“.chart wrapper”);});
似乎解决了这个问题。

找到了这个问题吗?找到了这个问题吗?