如何设置列表,在JavaScript剑道电网数据源? [英] How to set list as kendo grid datasource in javascript?
本文介绍了如何设置列表,在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屋!
查看全文