asp.net-mvc - Telerik 远程虚拟化 (Kendo Grid)

标签 asp.net-mvc telerik telerik-grid telerik-mvc kendo-grid

我对 Telerik 网格在作为无限滚动操作的一部分获取数据后如何在内部存储数据有疑问。我正在使用远程虚拟化模式并通过 Ajax 调用获取新记录。

我可以通过以下方式访问当前绑定(bind)到网格的数据集:

$("#Grid").data().kendoGrid.dataSource.view()

正如预期的那样,网格发出 Ajax 请求来请求新页面,但它似乎将先前页面的数据存储在某处的对象中。有没有办法通过 cient 端 API 访问该对象?这意味着我可以查看网格请求的所有页面(而不仅仅是当前页面)的所有数据吗?

我还注意到,在滚动过程中,网格通常会发出两次相同的 Ajax 请求(对于相同的页码)。有没有办法避免这种情况,因为重复的请求似乎返回与前一个相同的数据。

最佳答案

所有数据都存储在内部 _ranges 数组中称为“范围”的数据 block 中。

您可以像这样循环遍历所有加载的数据:

var chunks = $('#gridName').data().kendoGrid.dataSource._ranges
for(var i=0;i<chunks.length;i++){
    for(var j=0;j<chunks[i].data.length;j++){
        console.log(chunks[i].data[j])
    }
}

关于多个相同的请求 - 我认为这已得到解决,如果它尚未在最新的内部构建中修复,它应该在最近的版本中。

关于asp.net-mvc - Telerik 远程虚拟化 (Kendo Grid),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14366081/

相关文章:

c# - Asp MVC Paypal 交易

c# - MVC 4 View 重新加载数据更改

ios - 在企业 iOS 应用程序中,如何在现有配置文件过期后替换设备上的 *.mobileprovision 文件,但不重新签署 IPA?

javascript - 剑道文本编辑器不应重置其格式

c# - GridView 验证将整行标记为无效,而不仅仅是单元格

asp.net-mvc - 处理 ASP.NET MVC 中的超时

jquery - 鼠标悬停使用jquery获取链接的值

c# - 从 web 服务填充后将项目添加到 Telerik Ajax RadComboBox

c# - Telerik 网格自定义列构建/格式化

wpf - 设置过滤器后如何更新 RadGridView?