繁体   English   中英

如何使用实体框架使用Kendo UI ASP.NET MVC制作简单的饼图?

[英]How to make a simple pie chart using Kendo UI ASP.NET MVC using Entity Framework?

我是Kendo UI的新手,更不用说telerik了。 我一直在尝试使用Kendo ui Q3从我的模型类中制作一个饼图,但是我失败了,我可以找到一个很好的例子或教程。

我感到困惑和沮丧,因为我觉得这很容易但事实并非如此......请帮忙。


这是我的Model类。

public class FinancialAccount
{
    public virtual int FinancialAccountId { get; set; }
    public virtual int UserId { get; set; }
    public virtual string AccountNumber { get; set; }
    public virtual ICollection<Loan> Loans { get; set; }
    public virtual ICollection<Payment> Payments { get; set; }
}

我想从贷款类别中贷款,并将付款类别的付款汇总,并在金融帐户下显示整个事项。

这是我的控制器:

 public ActionResult Index()
    {


        var financialaccounts = db.FinancialAccounts.Include(a=>a.Loans).Include(b=>b.Payments);

        return View(financialaccounts.ToList());
    }

    public ActionResult MyFinances()
    {
        var financialaccounts = db.FinancialAccounts.Include(a=>a.Loans).Include(b=>b.Payments);
       // DataSourceResult result =
        return Json(financialaccounts, JsonRequestBehavior.AllowGet);
    }

这是我的看法:

 @(Html.Kendo().Chart<FinancedSociety.Models.FinancialAccount>()
    .Name("chart")
    .Title("Pop In Accounts")
    .Legend(legend => legend
        .Position(ChartLegendPosition.Top)
    )
    .DataSource(ds => ds.Read(read => read.Action("MyFinances", "Financials")))
    .Series(series => {
        series.Pie(model => model.Payments.Sum(a => a.Amount), model => model.Payments.Select(b => b.Description).ToString());
                  // model => model.Loans.Sum(c=>c.Amount), model => model.Loans.Select(f=>f.Description).ToString());
    })
    .Tooltip(tooltip => tooltip
        .Visible(true)
        .Format("{0:N0}")
    ).Theme("metro")
) 

我得到这个错误:绑定列需要字段或属性访问表达式。 当我更改并且不尝试访问不属于FinancialAccount模型类的集合的项目时,获取一个空白区域,其中应该有一个图表

如果你知道任何完整的教程,它们可能会有很大的帮助。 对于像MVC的telerik扩展这样的初学者来说,Kendo UI没有很好的文档记录: www.demos.telerik.com/aspnet-mvc/razor/chart/piechart?theme=metro ,这里他们展示了一个视图控制器模型,但至于剑道ui它只是视图和控制器

你不能做.Sum()或.Select()部分。 您需要创建一个为您执行此操作的模型(类),以便您只返回已经计算过或已在模型的此属性中计算的model.PaymentsSum。 不要气馁这是每个人都有的第一个问题。 所有Kendo控件都需要传递平面模型(TreeView除外)。 构建这些平面模型时,您可以访问要引用的数据库对象的完整对象图。 最终这就是你想要完成大部分MVC的方式,这样你就可以使用DataAnnotations并将繁重的工作放在模型中。 我希望我有所帮助,剑道有一些怪癖,但我对一些非常大的高调项目非常满意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM