在WPF平台,Component提供了两大控件:C1DataGrid和C1FlexGrid。很多用户在初始进行选择的时候,常常存在疑惑:这两个控件该选择哪个?本文就来阐述两者之间的差异,每个的优势以及为什么要选择其中一个控件。
首先ComponentOne DataGrid在Silverlight和WPF平台下非常强大,它的对象模型是基于微软标准的DataGrid控件。这样对于它来说,如果使用者需要额外的功能,比如内置的过滤、分组、分层的支持或是其他的功能,可以很容易的移植到C1DataGrid控件。
ComponentOne FlexGrid是一个简单和轻量级的控件,使用较容易的对象模型,同样的在非绑定模式下含有特定的功能,简单的单元格合并、多行多列标题等等。在WinForm平台下,这是一个很受欢迎的表格控件,这也是为什么将它使用在WPF/Silverlight平台的版本中。
您可以通过自己的需求挑选最好的表格,主要区别如下:
- C1DataGrid遵循微软DataGrid的对象模型,而C1FlexGrid遵循Flexgrid在WinForm平台下的对象模型。
- C1DataGrid支持细节行、层次对象和内置的分组UI;C1FlexGrid支持非绑定在数量上,比较轻量级。
功能对比:
Supported Features | C1DataGrid | C1FlexGrid |
---|---|---|
RIA Services | check | check |
Unbound data | check | |
Excel-like filtering | check | check |
Filter bar | check | |
Drag-and-drop grouping | check | |
Subtotals | check | check |
Auto-size columns | check | check |
Column and row freezing | check | check |
Deferred scrolling | check | |
Multiple selection modes | check | check |
Multi-row column headers | check | check |
Cell merging | check | check |
Checkbox column | check | check |
Combobox column | check | check |
DateTime picker column | check | |
Hyperlink column | check | |
Add new row | check | |
Custom rows | check | |
Custom cells | check | |
Hierarchical grid | check | |
Paging | check | |
Printing | check | check |
Export to Excel | check | check |
Clipboard | check | check |
ClearStyle | check | |
Toolkit themes | check | check |
Silverlight/WPF compatibility | check | check |
Size | < 700 KB | < 150 KB |
C1DataGrid主要功能:
分组和总数
C1DataGrid支持拖拽分组。将一个列标题拖到表格上方区域就可以分组数据,也可以自动生成可扩展和可折叠的结点,还可以在分组后的标题中显示计算聚合函数或总数。
条件过滤
默认情况下,C1DataGrid支持条件过滤。此种过滤类似于在Excel中每一列上的下拉菜单,允许用户创建一个过滤条件。
顶部和底部行模板
使用C1DataGrid的顶部和底部行模板,您可以轻松为表格创建和添加自定义的行。例如,您可以设计自己的过滤器和总数行,将它们嵌入任意的UIElements中。
RowDetails和分层支持
C1DataGrid还支持一个RowDetails模板,可以将UIElements嵌入到每一行的可折叠部分。例如,嵌入到另一个DataGrid,您可以为显示分层数据创建一个主从复合结构表格。
C1FlexGrid主要功能:
快速轻量
FlexGrid因快速和轻量著名,当然它还有其他流行的功能。滚动、调整大小、扩展、折叠、编辑,每个操作都非常快!FlexGrid使用完整的UI虚拟化和智能虚拟管理达到了最佳性能,它被证实在加载数据和滚动时有3到10倍的速度。在服务器端数据虚拟功能方面,我们还包括了C1DataSource组件,它与FlexGrid for WPF能够很好地配合使用。
绑定或取消绑定
您可以将FlexGrid绑定到任何实例化的IEnumerable中,或直接与一个对象列表绑定。除了数据绑定,FlexGrid还可以应用到非绑定模式。使用控件WinForms版本的常见语法能轻松为表格添加行和列。当取消绑定时,表格在内部存储数据。
如果你对这两个控件感兴趣,可以到如下地址下载:
PS: 关于ComponentOne,这些产品你可以关注>>
本站文章除注明转载外,均为本站原创或翻译