2017-09-12 2 views
0

Ceci est juste un exemple des nombreuses itérations que j'ai essayées. Essentiellement, je veux montrer un graphique à secteurs avec les types de travaux par montant de coût. Je suis capable de me connecter à la base de données, j'ai réussi à faire une grille de Kendo. Toute aide est appréciée!Le graphique en camembert de Kendo ne rendra pas (données à distance)

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 
       }; 
    } 

Répondre

2

Retournez vos valeurs autour pour les données de la série graphique:

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

La signature de la méthode est la suivante:

IIRC, kendo n'accepte que les valeurs numériques pour le paramètre expressionValue

+0

Merci! Je ne reçois plus d'erreurs dans la console, mais il ne rend toujours pas (sauf pour le titre) .... mais pas d'erreurs ... des suggestions? – SAS20

+0

Renvoyer une liste -> return (votre fichier LINQ staement) .ToList() – kryptonkal