我需要使用JavaScript在网格中向用户呈现大量数据行(即数百万行).
用户不应该一次看到页面或仅查看有限数量的数据.
相反,似乎所有数据都可用.
不是一次下载所有数据,而是在用户访问它们时下载小块(即通过滚动网格).
不会通过此前端编辑行,因此可以使用只读网格.
这种无缝分页存在哪些用JavaScript编写的数据网格?
我希望slickgrid根据最宽的内容或标题文本自动调整列的大小 - 以较宽者为准.简单来说,我希望它在列大小调整时模拟常规HTML表的默认行为.我怎么能在slickgrid中做到这一点?
我试图在slickgrid和jqgrid之间做出决定.我认为它们都是功能丰富的.Jqgrid拥有出色的文档,因此易于启动和运行.
我试图理解它们在实现细节方面有多么不同,因为我听到光滑的网格要快得多.我只是想知道是否有人做了一些基准测试/知道每个网格的内部提供一些有用的输入.
Edit1: @oleg - 感谢您的回复.对不起,我担心我可能没有提供足够的细节.虽然我没有所有用例,但是当数据很小时我会使用本地数据,而当数据很大时我会使用服务器端虚拟滚动,过滤,排序等.Json将成为主要的数据库.我试图从可能了解两个网格内部的人那里得到输入.我不明白客户端实现足以自己判断.我的一位同事提到,光滑的网格可能会更好,因为它是通过虚拟渲染和键盘支持开发的.我的问题是开放式的,但网格的核心实现可能会使其在更复杂的场景中更有效,即子网格,树木等,如果没有偏离核心设计来处理任何这些.
好的,基于你对jqgrid的专业知识,你如何回应Slick Grid的这个片段?
" 网格与数据关键区别在于SlickGrid和其他网格实现之间我看到的是,他们过分关注能够理解和处理数据(搜索,排序,解析,ajax负载等),而不是一个更好的"网格"(或者,如果是可编辑的网格,则是一个电子表格).如果您想要做的只是"修饰"一个HTML TABLE或将前端打到一个简单的列表上,那就太好了,但是对于其他任何东西都太不灵活了数据很复杂.它有业务规则.它具有非内在属性.编辑元素的一个属性可以导致修改其他属性甚至其他元素的级联更改.它具有依赖性.我所说的是,处理数据最好留给使用网格控件的开发人员.尝试将所有这些都适用于网格实现和API只会限制其适用性并增加相当大的膨胀.SlickGrid采用不同的方法.在最简单的情况下,它通过一个访问数据数组接口(即使用 "dataitem"用于获取给定位置的项目,"data.length"用于确定项目数量),但API的结构使得网格很容易对任何可能的更改做出反应.基础数据."
编辑2:来自Datatables论坛帖子的片段:"*DataTables 正试图修改HTML表格.例如,可以通过DataTables使用TABLE标签看到这一点,而SlickGrid使用DIV元素创建一个看起来像的显示器因此,有许多技术,如虚拟渲染,可以与DIV一起使用- 但不能与表一起使用.不可能简单地渲染行100-110而不是前100个表,但是DIV没有问题,所以我担心目前这不适用.需要做的是将DataTables转换为使用DIV标记标记,但是你放弃了DataTables的主要目标,重点关注渐进增强和可访问性.*"
谢谢
最近我们想改变我们当前的网格工具.目前我们正在使用kendo-ui进行网格和所有.搜索后我们得到了3个结果.但是,我们仍然不确定哪个更好,为什么在未来的运行.
使用剑道时,我们错过了对它的控制权.如果任何人能帮助我们选择带有角度的正确网格,那将是一件好事.
我想根据内容大小提供可变行高.在Slickgrid有可能吗?
你能指出我的任何例子吗?
嗨,我想知道是否有人知道是否可以将slickgrid中的列定义为下拉选择列表.如果不是,那些对slickgrid有一定经验的人知道我应该如何添加这个选项吗?
谢谢
在我看过的演示中,在我自己的代码中,SlickGrid单元格不允许选择它们的文本.是否可以允许用户从单元格中选择文本.如果是这样,怎么样?
我到处搜索了解如何将类添加到slickgrid中的特定行.它看起来像曾经是一个rowCssClasses属性,但它现在已经消失了.任何有关这方面的帮助将非常感激.
更新:我使用getItemMetadata来计算...所以在渲染之前,你必须做这样的事情:
dataView.getItemMetadata = function (row) {
if (this.getItem(row).compareThis > 1) {
return {
'cssClasses': 'row-class'
};
}
};
Run Code Online (Sandbox Code Playgroud)
这会将'row-class'注入到与if语句匹配的行中.似乎这个getItemMetadata函数不存在,直到你把它放在那里并且slickGrid检查它是否有任何东西.这使得很难找出它的选项,但是如果你在slick.grid.js文件中搜索getItemMetadata,你应该找到一些隐藏的宝藏!我希望这可以帮助别人!
如果有更好的方法,请告诉我.
我开始使用SlickGrid,我对Data View和Grid之间的区别感到困惑(启用了编辑功能).我没有在文档中找到有关数据视图的一些讨论,尽管在那里已经提到过.
请赐教.
有谁知道如何设置网格的宽度百分比?
例如,但在页面中,网格的宽度超过2000像素.它没有调整到页面宽度.
任何帮助,将不胜感激.
谢谢Padmanabhan
slickgrid ×10
javascript ×4
jquery ×3
datagrid ×2
tablecolumn ×2
ag-grid ×1
angularjs ×1
autosize ×1
html5 ×1
jqgrid ×1
kendo-grid ×1