or
@model GridReport
@using System.Data;
@using MVCReportingConcept.Reports;
<
div
id
=
"report"
class
=
"chart-wrapper"
>
@(Html.Kendo().Grid(Model.QueryResults)
.Name(Model.Name)
.EnableCustomBinding(true)
.Columns(columns =>
{
foreach (DataColumn col in Model.QueryResults.Columns)
{
columns.Bound(col.ColumnName);
}
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.DataSource(dataSource => dataSource
.Ajax()
.Total(Model.Query.TotalRecordCount)
.Read(read => read.Action("ReadGrid", "Home", new { reportId = Model.ReportId }))
.PageSize(Model.PageSize)
)
)
</
div
>
public
ActionResult ReadGrid([DataSourceRequest] DataSourceRequest request,
int
reportId)
{
GridReport report = (GridReport)ReportBuilder.BuildReport(reportId);
report.Refresh(request.Page, request.PageSize);
DataSourceResult ds = report.Query.PagedResults.ToDataSourceResult(request);
//ds = report.QueryResults.ToEnumerable().ToQueryable().ToDataSourceResult(request);
//ds.Data = report.DataSourceResult.Data;
ds.Total = report.Query.TotalRecordCount;
return
Json(ds);
}
function
HomeCtrl($scope)
{
$scope.things = {dataSource: [{ name:
"Thing 1"
, id: 1 },{ name:
"Thing 2"
, id: 2 },{ name:
"Thing 3"
, id: 3 }]}
}
<
div
kendo-treeview <br>
k-data-source="things"
k-data-text-field="'name'" />
<div id=
"treeview"
></div>
<script>
$(
"#treeview"
).kendoTreeView({
dataTextField: [
"name"
],
dataSource: [{ name:
"Thing 1"
, id: 1 },{ name:
"Thing 2"
, id: 2 },{ name:
"Thing 3"
, id: 3 }]
});
</script>