Как использовать разные источники данных для сетки пользовательского интерфейса кендо? - PullRequest
0 голосов
/ 07 ноября 2019

Я не слишком знаком с Кендо и смотрел некоторые уроки, но даже следуя точно, я не получаю тот же результат. Я создал страницу с использованием кэшированных данных и по-разному передаю ее в качестве источника данных в сетку.

В этом коде метод read вообще не вызывается. Понятия не имею почему.

@(Html.Kendo().Grid<TestCategory>().Name("TCategory1").Columns(c =>
    {
    c.Bound(p => p.Name);
    c.Bound(p => p.Id);
    })
        .DataSource(d => d.Ajax().Read(r => r.Action("Read", "Category").Type(HttpVerbs.Get))
        .PageSize(3))
        .Pageable()
        .Sortable()
        .Filterable()
    )

Во второй сетке я могу получить данные для отображения, но не могу редактировать

@(Html.Kendo().Grid(Model).Name("TCategory").Columns(c =>
    {
    c.Bound(p => p.Name);
    c.Bound(p => p.Id);
        c.Command(com => { com.Edit(); com.Destroy(); });
    })
        .DataSource(d => d.Ajax().ServerOperation(false).PageSize(3)
        .Update(u => u.Action("Edit", "Category"))
        .Create(c => c.Action("Create", "Category"))
        .Destroy(c => c.Action("Delete", "Category"))
        .Model(m => { m.Id(p => p.Id); })
        )
        .Pageable().Editable(e => e.Mode(GridEditMode.InCell)).Sortable().Filterable().ToolBar(t => t.Create()) )

Метод чтения:

[HttpPost]
    public JsonResult Read([DataSourceRequest]DataSourceRequest request)
    {
        IQueryable<TestCategory> cat = context.Collection();


        return Json(cat.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
    }
...