首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Kendo叠加图的POCO建模

基于Kendo叠加图的POCO建模
EN

Stack Overflow用户
提问于 2013-12-03 06:17:01
回答 1查看 199关注 0票数 1

在创建用于使用的POCO类时,我有一个问题。

我们希望使用MVC包装器创建堆叠图表,在Kendo的示例中,它显示了一些静态值,如

代码语言:javascript
复制
     .Column(new int[] { 1100941, 1139797, 1172929, 1184435, 1184654 }).Stack(true)
     .Column(new int[] { 810169, 883051, 942151, 1001395, 1184654  }).Stack(true)

现在,这将创建5个条形图,每个条形图再叠加一个数据,int数组中的每个值对应于不同的条形图,而所有数组中的每个索引都对应于同一个条形图。

即:1100941810169对应于第一个bar bar1

因此,如何将这些静态数据建模到POCO类中并填充数据。

我创建了POCO,如下所示

代码语言:javascript
复制
    public class TroubleFound
    {
    //Service center Name for which trouble is found
    public string ServiceCenterName { get; set; }
    //Which type of trouble is found
    public string TroubleFoundName { get; set; }
    //total count of trouble found
    public List<int> TroubleFoundCount { get; set; }
    }

但是它不能工作,因为它为每个条形条创建了一个列,而在单条上创建了一个堆栈

代码语言:javascript
复制
    series.Bar(data.TroubleFoundCount) 

那么如何创建POCO并根据Kendo-Dataviz填充它呢?

实际上我想开发什么,请参考http://demos.kendoui.com/dataviz/bar-charts/stacked-bar.html

EN

回答 1

Stack Overflow用户

发布于 2014-05-07 00:56:46

我最近不得不做一些非常类似的事情,但我做的是列。我相信您可以将系列类型从一个列切换到另一个栏,而不需要进行任何其他更改。下面是我们使用的模型:

代码语言:javascript
复制
public class KendoStackedColumnChartModel
{
    public string Title { get; set; }

    public IEnumerable<KendoStackedColumnModel> StackedColumns { get; set; }

    public class KendoStackedColumnModel
    {
        public string StackName { get; set; }
        public string Colour { get; set; }

        public IEnumerable<KendoColumnModel> Columns { get; set; }

        public class KendoColumnModel
        {
            public decimal Value { get; set; }
            public string Category { get; set; }
        }

    }

}

在包装纸上:

代码语言:javascript
复制
        .Series(series =>
        {
            foreach (WebUI.Models.KendoStackedColumnChartModel.KendoStackedColumnModel stacked in Model.StackedColumns)
            {
                series.Column(stacked.Columns).CategoryField("CategoryLabel").Field("Value").Name(stacked.StackName).Color(stacked.Colour);
            }
        } 
    )
    .SeriesColors(new string[] { "#20BDFF", "#84DAFF", "#FFCD8A", "#FE9915", "#FF6633" })

希望这能帮别人节省点时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20344190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档