Hi,
I am new to Telerik controls. I am trying to bind grid to datasource, not sure what am I doing wrong but grid is always empty.
Here is some sample code.
public IActionResult Index(string YYYYQ)
{
var initialYYYYQ = YearAndMonth.AbstractStartYearMonth();
SelectedMeasuresViewModel sModel = GetMeasureSelectionData(initialYYYYQ);
return View(sModel);
}
public ActionResult MeasureSelections_Read([DataSourceRequest] DataSourceRequest request)
{
return Json(GetMeasureSelectionData("2017-02"));
}
private SelectedMeasuresViewModel GetMeasureSelectionData(string YYYYMM)
{
measureSelectionList = someData;
SelectedMeasuresViewModel sModel = new SelectedMeasuresViewModel();
sModel.SelectedYYYYMM = YYYYMM;
sModel.SelectedMeasureSets = measureSelectionList; (this is list of MeasureListData)
return sModel;
}
View is simple
@using (Html.BeginForm())
{
@Html.DropDownListFor(m => m.SelectedYYYYMM, YearAndMonth.MonthDropdownOptions(), new { onchange = "this.form.submit(); " })
@Html.Partial("MeasureSelections", Model.SelectedMeasureSets)
}
Partial View is
@(Html.Kendo().Grid<EncorI.Web.Areas.Admin.Models.MeasureListData>()
.Name("measureSelectionGrid")
.Columns(columns =>
{
columns.Bound(c => c.Enabled).Width(100);
columns.Bound(c => c.MeasureSetID).Width(100);
columns.Bound(c => c.MeasureSetName).Width(300);
columns.Bound(c => c.HospitalID).Width(100);
columns.Bound(c => c.HospitalName).Width(300);
})
.HtmlAttributes(new { style = "height: 850px;" })
.Scrollable()
.Groupable()
.Sortable()
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("MeasureSelections_Read", "measureSelectionGrid"))
.PageSize(20)
)
)