Мне нужно привязать сетку кендо к классу модели. Я возвращаю то же самое с контроллера, используя результат Json, но gird не привязывается. Также найдите ниже используемые фрагменты кода.
Модель:
public DataTable ErrorData { get; set; }
public List<string> Groups { get; set; }
public Dictionary<string, System.Type> ErrorColumns { get; set; }
Контроллер:
public JsonResult PopulateData()
{
ErrorPage _objError = new ErrorPage();
//Getting the details from Database
_objError.ErrorData = dbl.GetDataTable(DbConnectionString,Table,whereCondition, columns);
//Poplulating the Column list as it is dynamically generated every time as per the filter on front end(View)
//Column description: Name and Type
var columnlist = new Dictionary<string, System.Type>();
foreach (System.Data.DataColumn column in _objError.ErrorData.Columns)
{
var t = System.Type.GetType( column.DataType.FullName );
columnlist.Add(column.ColumnName, t);
}
_objError.ErrorColumns = columnlist;
return Json(_objError);
}
Вид: это возврат кода при нажатии кнопки
$.post(path, { application: app, columns: columns, machine: machine, pages: pages,
startDate: startDate, endDate: endDate }, function (result) {
var grid = $("#ErrorLog").data(result);
grid.dataSource.read();
grid.refresh();
});
Это код сетки кендо, который также привязывается к данным при загрузке страницы:
@(Html.Kendo().Grid<dynamic>()
.Name("ErrorLog")
.Columns(columns =>
{
//Define the columns
foreach (var c in Model.ErrorColumns)
columns.Bound(c.Value, c.Key);
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
foreach (System.Data.DataColumn column in Model.ErrorData.Columns)
{
model.Field(column.ColumnName, column.DataType);
}
})
.Read(read => read.Action("populateData", "Common"))
)
.Groupable()
.Sortable(s => s.AllowUnsort(true))
.Filterable(ftb => ftb.Mode(GridFilterMode.Menu))
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
//.ButtonCount(5)
)
)
Список столбцов заполнен правильно. но я не уверен в возвращении JsonResult в сетку кендо. Пожалуйста, помогите, как связать сетку кендо, используя результат Json.