我正在尝试创建一个包含学生详细信息列表的Kendo网格。点击添加按钮,寻呼机显示“Nan-Nan of 1 items”。
@(Html.Kendo().Grid<Student.Models.StudentDetails>()
.Name("StudentDetailsGrid")
.Pageable()
.HtmlAttributes(new { id="StudentDetailsGrid"})
.Columns(col =>
{col.Bound(a => a.FirstName).Title("Name");
col.Bound(a => a.LastName).Hidden()
col.Bound(a => a.StudentID).Hidden();
col.Command(a => { a.Destroy(); a.Edit(); }).Title("");
}
)
.ToolBar(toolbar => toolbar.Create().Text("Add").HtmlAttributes(new {@id="btnCreateStudent"}))
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Scrollable(scrol => scrol.Enabled(true))
.DataSource(source => source
.Ajax()
.PageSize(5)
.Model(a =>
{
a.Id(b => b.StudentID);
})
.Read(read => read.Action()
.Create(create => create.Action())
.Destroy(destroy => destroy.Action())
.Update(update => update.Action())
).Events(even => even.Save("SaveDetails").Edit("ChangeNoOfStudent").DataBound("StudentValidate")))
`
在Document.ready函数:
$(document).ready(function () {
$.ajax({
url: '../Student/GetStudentDetails?StudentId=' + Data.StudentId,
type: 'POST',
contentType: 'application/json',
dataType: 'json',
success: function (data) {
if (data.length > 0) {
var studentdetail = new kendo.data.DataSource({
data: data,
pageSize: 5
});
$("#StudentDetailsGrid").data("kendoGrid").setDataSource(studentdetail);
}
我添加了页面大小,但我仍然可以看到“Nan-Nan of 1 items”。
你能帮忙吗?
答案 0 :(得分:18)
您需要在网格数据源中定义pageSize。不在成功函数中。
在您的情况下,您只需要在数据源中包含以下内容:
$.ajax({
url: '../Student/GetStudentDetails?StudentId=' + Data.StudentId,
type: 'POST',
contentType: 'application/json',
dataType: 'json',
pageSize: 10,
success: function (data) {...
我希望这会有所帮助。 有关更多信息,请访问:Sudarsan Dash'blogs
答案 1 :(得分:12)
我让它的工作方式如下:指定数据源内的pagesize修复了我的问题(Nan-Nan of 1 items)
< script type = "text/javascript" >
$(document).ready(function() {
var modelData = @Html.Raw(Json.Encode(Model));
$("#grid").kendoGrid({
reorderable: true,
pageable: {
input: true,
numeric: false
},
scrollable: true,
sortable: true,
dataSource: {
data: modelData,
pageSize: 10 // specifying the pagesize inside the datasource fixed my problem (Nan-Nan of 1 items)
},
columns: [{
field: "fieldparameter",
title: "titleparameter",
filterable: true,
sortable: true
}]
});
}); < /script>
&#13;
答案 2 :(得分:4)
这是解决问题所需的条件。像梦一样工作!
<script>
$(document).ready(function () {
$("#grid").kendoGrid({
dataSource: {
pageSize: 10
},
});
});
</script>
答案 3 :(得分:1)
在dataSource:{} as,
中添加pageSize:5 dataSource: {
pageSize: 5
}
如果你把pageSize:5放在dataSource:{}之外你会得到那个错误“Nan-Nan”
答案 4 :(得分:0)
从@(Html.Kendo()。Grid()中删除.PageSize(5) 添加pageSize:var in studentdetail = new kendo.data.DataSource({
答案 5 :(得分:0)
由于某种原因,仅将pageSize添加到我的数据源中对我来说不起作用。
我通过将初始网格页面设置为1来解决了这个问题,并且在我的数据源中也定义了pageSize:
var grid = $("#grid").data("kendoGrid");
var dataSource = new kendo.data.DataSource({ data: response.data });
grid.setDataSource(dataSource);
grid.dataSource.page(1); // need so that Nan - Nan is not the starting page.
grid.dataSource.read();
答案 6 :(得分:0)
正如其他人所说,您需要分配pageSize属性。同样,如果您需要重新分配数据源:
var dataSource = new kendo.data.DataSource({
data: gridData,
pageSize: 15 // this property
});
var grid = $('#grid').data('kendoGrid');
grid.setDataSource(dataSource);