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,让网格从一开始就获取数据