Reputation: 233
I am new to Kendo Chart and I want implement it in my MVC project. I am using Kendo version 2012.3.1315.340
.
Controller:
public ActionResult KendoChart()
{
return View();
}
public ActionResult GetTaskAllz()
{
dbipathEntities1 objContext = new dbipathEntities1();
List<mdlChart> objLst = new List<mdlChart>();
List<tblPurchaseOrder> objLst1 = new List<tblPurchaseOrder>();
var objMdl1 = (from c in objContext.tblPurchaseOrders select c).Take(100).OrderBy(x => x.POID).ToList();
objLst1 = objMdl1.ToList<tblPurchaseOrder>();
for (int i = 0; i < objLst1.Count; i++)
{
objLst.Add(new mdlChart { JobNo = objLst1[i].JobID, SupplierID = objLst1[i].SupplierID });
}
return Json(objLst1, JsonRequestBehavior.AllowGet);
}
Model:
public class mdlChart
{
public Nullable<int> JobNo { get; set; }
public Nullable<int> SupplierID { get; set; }
}
CSHTML:
<link rel="stylesheet" href="@Url.Content("~/Kendo/kendo.common.min.css")" />
<link rel="stylesheet" href="@Url.Content("~/Kendo/kendo.rtl.min.css")" />
<link rel="stylesheet" href="@Url.Content("~/Kendo/kendo.default.min.css")" />
<link rel="stylesheet" href="@Url.Content("~/Kendo/examples-offline.css")" />
<script src="../../Kendo/Jquery-1.8.3.min.js" type="text/javascript"></script>
<script src="@Url.Content("~/Kendo/kendo.web.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Kendo/kendo.aspnetmvc.min.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Kendo/console.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Kendo/prettify.min.js")" type="text/javascript"></script>
<script src="../../Kendo/kendo.culture.en-GB.min.js" type="text/javascript"></script>
<script type="text/javascript">
//set current to the "en-GB" culture script
kendo.culture("en-GB");
</script>
@using Kendo.Mvc.UI
@(Html.Kendo().Chart<MVCProject.Models.mdlChart>()
.Name("chart")
.Title("Pop In Accounts")
.Legend(legend => legend
.Position(ChartLegendPosition.Top)
)
.DataSource(ds => ds.Read(read => read.Action("GetTaskAllz", "Kendo")))
.Series(series =>
{
series.Column(model => model.JobNo).Name("Val2");
})
.CategoryAxis(axis => axis
.Categories(model => model.SupplierID)
.Labels(labels => labels.Rotation(-90))
)
)
But with this I am not getting Chart
. It is giving a Javascript error:
Microsoft JScript runtime error: Object doesn't support this property or method
Javascript auto generated Code in which above error is coming :
jQuery(
function () {
debugger;
jQuery("#chart").kendoChart(
{ "title": { "text": "Pop In Accounts" },
"legend": { "position": "top" },
"series": [{ "name": "Val2", "type": "column", "field": "JobNo"}],
"categoryAxis": [{ "labels": { "rotation": -90 }, "field": "SupplierID"}],
"dataSource": { "transport": { "prefix": "", "read": { "url": "/Kendo/GetTaskAllz", "type": "POST"} },
"type": "aspnetmvc-ajax",
"schema":
{ "model":
{ "fields":
{ "JobNo":
{ "type": "number", "defaultValue": null },
"SupplierID": { "type": "number", "defaultValue": null }
}
}
}
}
});
});
Upvotes: 0
Views: 2456
Reputation: 647
Solved !! Just replacing all above Scripts with below scripts.
<script src="../../Kendo/Jquery-1.8.3.min.js" type="text/javascript"></script>
<link href="../../Kendo/kendo.dataviz.min.css" rel="stylesheet" type="text/css" />
<script src="../../Kendo/kendo.dataviz.min.js" type="text/javascript"></script>
Upvotes: 0
Reputation: 30671
You should include "kendo.all.min.js". The "kendo.web.min.js" doesn't include Kendo UI DataViz widgets. More info can be found in the documentation.
Upvotes: 2