/ / Comment définir la liste comme source de données de la grille kendo en javascript? - javascript, jquery, asp.net-mvc, kendo-ui, kendo-grid

Comment définir la liste comme source de données de la grille de kendo en javascript? - javascript, jquery, asp.net-mvc, kendo-ui, kendo-grid

J'ai une liste modelview et je veux définir cette liste comme source de données de grille kendo dans une fenêtre kendo.

Ajax

    $.ajax({
url: "@Url.Action("KatildigiKurslar", "Tanim")",
type: "POST",
dataType: "json",
data: { kursiyerId: kursiyerId},
success: function (result) {
var kurslar =result.kurslar;
//----------I"ve tried like this but not working ----------------//
var dataSource = new kendo.data.DataSource({
data:kurslar
});
$("#GridKatildigiKurslar").data("kendoGrid").setDataSource(kurslar);

$("#KatildigiKurslar").data("kendoWindow").open();
},
async: false
});

Fenêtre / Grille Kendo

@(Html.Kendo().Window()
.Name("KatildigiKurslar")
.Title("Katıldığı Kurslar")
.Draggable()
.Content(
@<text>
@(Html.Kendo().Grid<OnlineKursKayit.ViewModels.KursiyerSinifViewModel>()
.Name("GridKatildigiKurslar")
.Columns(columns =>
{
columns.Bound(p => p.KursEgitmenAdi).Width(100);
columns.Bound(p => p.KursDonemi).Width(200);
columns.Bound(p => p.BaslangicTarihi).Width(200);
})
.Pageable()
.AutoBind(false)
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(7)
)
)
</text>)
.Visible(false)
.Resizable()
.Actions(actions => actions.Minimize().Maximize().Close())
)

Vue du modèle

public class KursiyerSinifViewModel
{
public string KursEgitmenAdi { get; set; }

public string KursDonemi{ get; set; }

public string BaslangicTarihi{ get; set; }
}

Réponses:

3 pour la réponse № 1

Vous passez la mauvaise chose au setDataSource() une fonction. Vous devez transmettre l'objet dataSource que vous avez créé.

var dataSource = new kendo.data.DataSource({
data: kurslar
});

$("#GridKatildigiKurslar").data("kendoGrid").setDataSource(dataSource); // not kurslar

Une autre façon de charger vos données dans la grille sans avoir à créer un nouvel objet source de données serait de procéder comme suit:

$("#GridKatildigiKurslar").data("kendoGrid").dataSource.data(kurslar);