[英]Bind Kendo UI Grid to List of objects
Kendo UI網格僅呈現列標題。
網格不呈現網格中的實際數據行。
這是我的代碼。
public class CalculatorController : Controller
{
public ActionResult TimberData_Read()
{
var grades = new List<TimberGrades>();
grades.Add(new TimberGrades() { TimberGrade = "C14", BendingParallelToGrain = 4.1 });
grades.Add(new TimberGrades() { TimberGrade = "C16", BendingParallelToGrain = 5.3 });
var result = grades.AsQueryable();
return Json(result);
}
}
public class TimberGrades
{
public string TimberGrade { get; set; }
public double BendingParallelToGrain { get; set; }
public TimberGrades()
{
TimberGrade = "C14";
BendingParallelToGrain = 4.1;
}
}
在我的視圖內部,我嘗試如下渲染Grid:
<div id="DivTimberGradeGrid">
@(Html.Kendo().Grid<TimberBeamCalculator.Models.TimberGrades>()
.Name("TimberGradeGrid")
.DataSource(ds => ds
.Ajax()
.Read(r => r.Action("TimberData_Read", "Calculator"))
)
.Columns(c=>
{
c.Bound(t => t.TimberGrade);
c.Bound(t => t.BendingParallelToGrain);
}
)
)
</div>
我自己弄清楚了。
在我的控制器類中:
using Kendo.Mvc.Extensions;
.....
public ActionResult TimberData_Read([DataSourceRequest]DataSourceRequest request)
{
var grades = new List<TimberGrades>();
grades.Add(new TimberGrades() { TimberGrade = "C14", BendingParallelToGrain = 4.1 });
grades.Add(new TimberGrades() { TimberGrade = "C16", BendingParallelToGrain = 5.3 });
IQueryable<TimberGrades> res = grades.AsQueryable<TimberGrades>();
DataSourceResult res1 = res.ToDataSourceResult(request);
return Json(res1, JsonRequestBehavior.AllowGet);
}
....
and in the view
<p>
<div id="DivTimberGradeGrid">
@(Html.Kendo().Grid<TimberBeamCalculator.Models.TimberGrades>()
.Name("TimberGradeGrid")
.DataSource(ds => ds
.Ajax()
.Read(r => r.Action("TimberData_Read", "Calculator"))
)
.Columns(c=>
{
c.Bound(t => t.TimberGrade);
c.Bound(t => t.BendingParallelToGrain);
}
)
)
</div>
</p>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.