如何设置列表,在JavaScript剑道电网数据源? [英] How to set list as kendo grid datasource in javascript?

查看:188
本文介绍了如何设置列表,在JavaScript剑道电网数据源?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个模型视图列表,并要设置一个窗口剑道这个名单剑道网格的数据源。

阿贾克斯

  $阿贾克斯({
        网址:'@ Url.Action(KatildigiKurslar,Tanim)',
        输入:POST,
        数据类型:JSON
        数据:{kursiyerId:kursiyerId},
        成功:函数(结果){
            VAR kurslar = result.kurslar;
            // ----------我已经试过这样的,但不工作---------------- //
            VAR数据源=新kendo.data.DataSource({
                数据:kurslar
            });
           $('#GridKatildigiKurslar')数据(kendoGrid)的setDataSource(kurslar)。            $(#KatildigiKurslar)的数据(kendoWindow)开()。
        },
        异步:假的
    });

剑道窗口/网

  @(Html.Kendo()。窗口()
    。名称(KatildigiKurslar)
    .title伪(KatıldığıKurslar)
    .Draggable()
    。内容(
    @<文字和GT;
       @(Html.Kendo()网格和LT; OnlineKursKayit.ViewModels.KursiyerSinifViewModel>()
    。名称(GridKatildigiKurslar)
    .Columns(列=>
    {
        columns.Bound(p值=> p.KursEgitmenAdi).WIDTH(100);
        columns.Bound(p值=> p.KursDonemi).WIDTH(200);
        columns.Bound(p值=> p.BaslangicTarihi).WIDTH(200);
    })
    .Pageable()
    .AutoBind(假)
    .DataSource(数据源=>数据源
        阿贾克斯()
        .PageSize(7)
       )
    )
    < /文本>)
    。可见(假)
    .Resizable()
    .Actions(行动=> actions.Minimize()最大化()关闭()。)

模型 - 视图 -

 公共类KursiyerSinifViewModel
{
    公共字符串KursEgitmenAdi {搞定;组; }    公共字符串KursDonemi {搞定;组; }    公共字符串BaslangicTarihi {搞定;组; }
}


解决方案

正在传递错误的东西到的setDataSource()功能。你应该通过你创建的数据源对象。

  VAR数据源=新kendo.data.DataSource({
  数据:kurslar
});$('#GridKatildigiKurslar')的数据(kendoGrid')的setDataSource(数据源)。 //不kurslar

这是另一种方式来加载数据到网格,而无需创建一个新的数据源对象将做到这一点:

  $('#GridKatildigiKurslar')的数据(kendoGrid')dataSource.data(kurslar)。

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

解决方案

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

这篇关于如何设置列表,在JavaScript剑道电网数据源?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆