Asp.net mvc 3 剑道网格虚拟滚动(无止境滚动)不工作
我想打开剑道网格上的无休止的滚动,在这个框架中称为Asp.net mvc 3 剑道网格虚拟滚动(无止境滚动)不工作,asp.net-mvc-3,kendo-ui,kendo-grid,kendo-asp.net-mvc,Asp.net Mvc 3,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,我想打开剑道网格上的无休止的滚动,在这个框架中称为虚拟滚动 摘要: 1) I load the page => the Action Virtualization_Read is called (OK) 2) I scroll down the Grid till bottom => the Action Virtualization_Read is called anothter time in order to get more data (KO) 结果是,当我到达网格底部时,
虚拟滚动
摘要:
1) I load the page => the Action Virtualization_Read is called (OK)
2) I scroll down the Grid till bottom => the Action Virtualization_Read is called anothter time in order to get more data (KO)
结果是,当我到达网格底部时,使用滚动条,检索数据的操作方法不再被点击
这是我的网格,它显示了在我的应用程序中生成的跟踪:
@(Html.Kendo().Grid<Credit.Entity.ServiceObjects.MsgBlock>(Model.ListadoTrazas)
.Name("grdTrazas")
.Columns(columns =>
{
columns.Bound(c => c.LogID).Filterable(true);
columns.Bound(c => c.Timestamp).Filterable(false);
columns.Bound(c => c.FormattedMessage).Filterable(false).Width("80%");
})
.Scrollable(s => s.Virtual(true))
})
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(100)
.ServerOperation(true)
.Read(read => read.Action("Virtualization_Read", "Logging"))
)
)
@(Html.Kendo().Grid(Model.ListadoTrazas)
.名称(“grdTrazas”)
.列(列=>
{
columns.Bound(c=>c.LogID).Filterable(true);
columns.Bound(c=>c.Timestamp).Filterable(false);
columns.Bound(c=>c.FormattedMessage).Filterable(false).Width(“80%”);
})
.Scrollable(s=>s.Virtual(true))
})
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(100)
.ServerOperation(真)
.Read(Read=>Read.Action(“虚拟化读取”、“日志记录”))
)
)
这是获取数据的MVC3操作。此操作仅在第一次加载页面时调用:
public ActionResult Virtualization_Read([DataSourceRequest] DataSourceRequest request)
{
return Json(GetData(request.Page, request.PageSize).ToDataSourceResult(request));
}
[NonAction]
private List<MsgBlock> GetData(int page, int getCount)
{
MVCLogging model = new MVCLogging();
// Fetches the data
return model.ListadoTrazas;
}
public ActionResult虚拟化\u读取([DataSourceRequest]DataSourceRequest请求)
{
返回Json(GetData(request.Page,request.PageSize).ToDataSourceResult(request));
}
[不行动]
私有列表GetData(int页,int getCount)
{
MVCLOCKING模型=新MVCLOCKING();
//获取数据
returnmodel.ListadoTrazas;
}
模型MsgBlock
具有在网格列方法中定义的相同属性:
- 罗吉德
- 时间戳
- 格式化消息
我忘了什么吗?我在这里看到的唯一潜在问题是,您正在利用网格上的服务器操作,但使用数据集合初始化网格,而不是让它获取初始数据。在使用MVC扩展的虚拟化剑道演示中,网格定义如下所示:
@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.OrderViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(o => o.OrderID).Width(60);
columns.Bound(o => o.CustomerID).Width(90);
columns.Bound(o => o.ShipName).Width(220);
columns.Bound(o => o.ShipAddress).Width(280);
columns.Bound(o => o.ShipCity).Width(110);
columns.Bound(o => o.ShipCountry).Width(110);
})
.Sortable()
.Scrollable(scrollable => scrollable.Virtual(true))
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(100)
.Read(read => read.Action("Virtualization_Read", "Grid"))
)
)
@(Html.Kendo().Grid())
.名称(“网格”)
.列(列=>
{
columns.Bound(o=>o.OrderID).Width(60);
columns.Bound(o=>o.CustomerID).Width(90);
columns.Bound(o=>o.ShipName).Width(220);
columns.Bound(o=>o.ShipAddress).Width(280);
columns.Bound(o=>o.ShipCity).Width(110);
columns.Bound(o=>o.ShipCountry).Width(110);
})
.Sortable()
.Scrollable(Scrollable=>Scrollable.Virtual(true))
.HtmlAttributes(新的{style=“height:430px;”})
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(100)
.Read(Read=>Read.Action(“虚拟化读取”、“网格”))
)
)
注意,在提供类型(Kendo.Mvc.Examples.Models.OrderViewModel)之后,没有提供初始数据集,而初始化尝试向网格提供所需的数据(Model.ListadoTrazas)。也许这会让网格误以为它拥有所需的所有数据?我会尝试取出Model.ListadoTrazas,让网格从一开始就获取数据