Angular DataGrids 已成为几乎所有 Angular 应用程序中的重要工具,尤其是在企业领域。选择 Angular DataGrid 时有很多选择,因此我们将比较一些流行的选项。这将是基于我们在该行业的经验得出的诚实评论。现在,让我们来看看一些流行的 Angular DataGrids 以及它们如何堆叠。
毫无疑问,由于我们对这种网格的经验和了解,我们对Angular DataGrid的首选是 Wijmo 的 FlexGrid。让我们分析一下为什么这是我们选择的 DataGrid。
首先是 FlexGrid与 Angular 的深度集成。它不仅仅是一个在 Angular 中工作的 JavaScript 数据网格。它是一个专门的 Angular 组件。一个关键方面是 FlexGrid 可以在 Angular 标记中完全配置。因此,所有属性和事件都可以在标记中声明。您可以在标记中将所有列配置为 FlexGrid 的子元素,而大多数其他网格不支持此简单功能。
最棒的是,您可以在标记中创建自定义 CellTemplates。在 CellTemplates 中,您可以添加自定义标记,包括其他 Angular 组件、HTML 元素,甚至表达式或绑定。FlexGrid 确实是集成度最高的 Angular DataGrid。
正如它的名字一样,另一个独特的特点是它的灵活性。
FlexGrid 可以在绑定或非绑定模式下使用。它有多个 API 可用于自定义网格。您可以自定义 FlexGrid 渲染的任何方面,直至每个单元格。如果您有特殊用例,FlexGrid 几乎肯定可以满足您的需求。如果 FlexGrid 没有您需要的确切功能,它肯定具有创建它的扩展点。
FlexGrid 还具有快速、轻量和模块化的特点。借助虚拟化渲染,它仅渲染网格 ViewPort 中可见内容的 DOM,无论绑定多少数据,都能表现良好。Wijmo 还具有非常轻量级的网格模块,仅包含关键功能。特殊功能已添加到可选扩展中。这样,您就可以只选择应用程序中所需的功能,从而使应用程序保持小巧和快速。
FlexGrid 的另一个与众不同之处是其卓越的客户服务!Wijmo 团队非常注重实践,并且始终乐于为客户提供技术支持和解决方案。如果某个功能不受支持,他们通常会构建自定义扩展并将其提供给客户。他们还提供了大量包含源代码的示例应用程序,这些资源对于初学者和专家来说都是非常有用的资源。
FlexGrid 是 Wijmo 的大型产品的一部分。下载 FlexGrid 后,您可以访问更多组件,例如数据透视表、图表、地图、编辑器等。
AG-Grid是 Angular DataGrids 的另一个不错的选择。它具有优质的性能和丰富的功能。
AG-Grid 的一个好处是他们提供免费的社区版。这不适用于商业用途,但对于学生和非营利组织来说是一个不错的选择。
它们提供了良好的文档,但没有其他人提供那么多的示例应用程序。
AG-Grid不提供与 Angular 的深度集成,因为您无法在标记中定义列和子组件。相反,您必须在 JavaScript 中定义列和选项。
Kendo UI与 Wijmo 类似,除了 Angular DataGrid 之外还包含许多组件。
Kendo UI 的优势之一是其功能列表很长。唯一的缺点是它不像其他应用程序那样模块化,这导致应用程序变得太大。
Kendo UI 还提供与 Angular 的深度集成。您可以在标记中完整声明 Kendo UI 网格,包括列和子组件。
Kendo UI 还提供许多示例应用程序,它们是非常有用的资源。
另一种流行的 DataGrid 是Handsontable ,尽管它与电子表格而非网格更相似。
该网格还包括一长串的功能。
Handsontable 与 AG-Grid 类似,提供有限的免费版本。
Handsontable不提供与 Angular 的深度集成,因为您无法在标记中定义列和子组件。相反,您必须在 JavaScript 中定义列和选项。
列表中的最后一个是DHTMLXGrid 。这是一个在 Angular 中工作的较旧的 DataGrid。它是套件的一部分,因此它包含一些附加组件,但功能强大的组件(例如 Pivot)是单独出售的。
DHTMLXGrid 包含许多功能但在设计上似乎不是模块化的。
DHTMLXGrid不提供与 Angular 的深度集成,因为您无法在标记中定义列和子组件。相反,您必须在 JavaScript 中定义列和选项。
选择 Angular DataGrid 时有很多质量选项。在做出决定时,您应该考虑哪些变量对您最重要,从性能到功能再到附加组件。Wijmo 的 FlexGrid 是我们的首选,但您可能会发现另一个网格更合适。
通过回顾这些流行的 Angular DataGrid 之间的高级差异,应该可以帮助您在考虑在未来的项目中使用哪种网格时更轻松地做出决定。