or
<
div
data-role
=
"view"
id
=
"page_side"
data-show
=
"js_page_side"
>
<
div
id
=
"foo"
></
div
>
<
script
id
=
"sidetemplate1"
type
=
"text/x-kendo-template"
>
<
h1
>#= overskrift #</
h1
>
<
p
>#= ingress #</
p
>
<
div
class
=
"brodtekst"
>
#= brodtekst #
</
div
>
</
script
>
</
div
>
<script>
function js_page_side() {
datakilde_sider.query({filter: {field:
"id"
, operator:
"eq"
, value: window[
'globalvar_vis_side_id'
] }});
$(
"#foo"
).html(kendo.render(sidetemplate1, datakilde_sider.view()));
//(Here there should be something forcing the view to scroll to top)
}
</script>
@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);
}