2017-09-12 106 views
0

這只是我試過的許多迭代中的一個例子。基本上,我想按照成本金額顯示一個餅圖和工作類型。我能夠很好地連接到數據庫,我能夠成功創建一個Kendo網格。任何和所有的幫助表示讚賞!Kendo餅圖不會呈現(遠程數據)

Report.cshtml

@(Html.Kendo().Chart<JobWebApp.Models.JobViewModel>() 
      .Name("piechart") 
      .Title("Job Types to Cost") 
      .DataSource(dataSource => dataSource 
       .Read(read => read.Action("Jobs_Read", "Reports").Type(HttpVerbs.Get)) 
      ) 
      .Legend(legend => legend 
       .Position(ChartLegendPosition.Top) 
      ) 
      .Series(series => 
      { 
       series.Pie(
        x => x.JOB_TYPE, 
        x => x.JOB_COST 
       ); 
      }) 
     ) 

ReportsController.cs

[HttpGet] 
    public ActionResult Jobs_Read([DataSourceRequest]DataSourceRequest request) 
    { 
     return Json(GetJobs().ToDataSourceResult(request), JsonRequestBehavior.AllowGet); 
    } 

    [NonAction] 
    private IQueryable<JobViewModel> GetJobs() 
    { 
     return from job in dbEntities.Jobs 
       select new JobViewModel 
       { 
        ID = job.ID, 
        DATE = job.DATE, 
        JOB_TYPE = job.JOB_TYPE, 
        JOB_COST = job.JOB_COST 
       }; 
    } 

回答

2

翻轉過來,你的價值觀餅圖系列數據:

 .Series(series => 
     { 
      series.Pie(
       x => x.JOB_COST, 
       x => x.JOB_TYPE      
      ); 
     }) 

方法簽名是這樣的:

ChartPieSeriesBuilder<TModel> Pie<TValue>(Expression<Func<TModel, TValue>> expressionValue, Expression<Func<TModel, string>> categoryExpression <Func<TModel, string>> expressionColor = null, Expression<Func<TModel, bool>> expressionExplode = null, Expression<Func<TModel, bool>> expressionVisibleInLegend = null); 

IIRC,kendo只接受expressionValue參數的數值。

+0

謝謝!我不再在控制檯中發現錯誤,但它仍然不渲染(除了標題)....但沒有錯誤...任何建議? – SAS20

+0

發送一個List - > return(您的LINQ staement).ToList() – kryptonkal