最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

jquery - How to set list as kendo grid datasource in javascript? - Stack Overflow

programmeradmin0浏览0评论

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
Add a ment  | 

1 Answer 1

Reset to default 4

You 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);
发布评论

评论列表(0)

  1. 暂无评论