I have a modelview list and want to set this list as kendo grid datasource in a kendo window .
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
});
Kendo Window / Grid
@(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())
)
Model View
public class KursiyerSinifViewModel
{
public string KursEgitmenAdi { get; set; }
public string KursDonemi{ get; set; }
public string BaslangicTarihi{ get; set; }
}
I have a modelview list and want to set this list as kendo grid datasource in a kendo window .
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
});
Kendo Window / Grid
@(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())
)
Model View
public class KursiyerSinifViewModel
{
public string KursEgitmenAdi { get; set; }
public string KursDonemi{ get; set; }
public string BaslangicTarihi{ get; set; }
}
Share
Improve this question
asked Dec 19, 2013 at 14:48
MustafaPMustafaP
6,6334 gold badges26 silver badges39 bronze badges
1 Answer
Reset to default 4You are passing in the wrong thing to the setDataSource()
function. You should pass in the dataSource object you created.
var dataSource = new kendo.data.DataSource({
data: kurslar
});
$('#GridKatildigiKurslar').data('kendoGrid').setDataSource(dataSource); // not kurslar
An alternate way to load your data into the grid without having to create a new data source object would be to do this:
$('#GridKatildigiKurslar').data('kendoGrid').dataSource.data(kurslar);