【问题标题】:How to set list as kendo grid datasource in javascript?如何在javascript中将列表设置为剑道网格数据源?
【发布时间】:2013-12-19 14:48:36
【问题描述】:

我有一个模型视图列表,并希望将此列表设置为剑道窗口中的剑道网格数据源。

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
    });

剑道窗口/网格

@(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())  
)     

模型视图

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

    public string KursDonemi{ get; set; }

    public string BaslangicTarihi{ get; set; }
}

【问题讨论】:

    标签: javascript jquery asp.net-mvc kendo-ui kendo-grid


    【解决方案1】:

    您将错误的内容传递给setDataSource() 函数。您应该传入您创建的 dataSource 对象。

    var dataSource = new kendo.data.DataSource({
      data: kurslar
    });
    
    $('#GridKatildigiKurslar').data('kendoGrid').setDataSource(dataSource); // not kurslar
    

    无需创建新数据源对象即可将数据加载到网格中的另一种方法是这样做:

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

    【讨论】:

    • 你就是布雷特 :)。我试过 $('#GridKatildigiKurslar').data('kendoGrid').setDataSource(dataSource);在问问题之前,但它不起作用。但替代方式工作清楚。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 2017-05-17
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多