在WPF平台,Component提供了两大控件:C1DataGrid和C1FlexGrid。

很多用户在初始进行选择的时候,常常存在疑惑:这两个控件该选择哪个?

本文就来阐述两者之间的差异,每个的优势以及为什么要选择其中一个控件。

首先ComponentOne DataGrid在Silverlight和WPF平台下非常强大,它的对象模型是基于微软标准的DataGrid控件。这样对于他来说,如果使用者需要额外的功能,比如内置的过滤,分组、分层的支持或是其他的功能,可以很容易的移植到C1DataGrid控件。

ComponentOne FlexGrid是一个简单和轻量级的控件,使用较容易的对象模型,同样的在非绑定模式下含有特定的功能。简单的单元格合并、多行多列标题等等。在WinForm平台下,这是一个很受欢迎的表格控件,这也是为什么将它使用在WPF/Silverlight平台的版本。

你可以通过自己的需求挑选最好的表格,主要区别如下:

1.C1DataGrid遵循微软DataGrid的对象模型,而C1FlexGrid遵循Flexgrid在WinForm平台下的对象模型。

2.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

 

在Silverlight&WinForms下的区别:

在C1FlexGrid for silverlight,大量的根节点的内容和旧版本一致。例如,你可以简单的通过名字获取列(例如, c1lfexgrid.Columns["columnName"]),而且获取单元格也很简单,通过index(例如, c1flexgrid[rowIndex, columnIndex]。它没有DataSoruce属性,但是有ItemsSource属性,在Silverlight和WPF平台下是保持一致的。

 C1DataGrid主要功能:

  • 分组和总数

    C1DataGrid支持拖拽分组。将一个列标题拖到表格上方区域就可以分组数据,也可以自动生成可扩展和可折叠的结点,还可以在分组后的标题中显示计算聚合函数或总数。
    分组和总数
     
  • 条件过滤

    默认情况下,C1DataGrid支持条件过滤。此种过滤类似于Excel在每一列上的下拉菜单,允许用户创建一个过滤条件。
    条件过滤
     
  •  
     
  • 顶部和底部行模板

    使用C1DataGrid的顶部和底部行模板,您可以轻松为表格创建和添加自定义的行。例如,您可以设计自己的过滤器和总数行,将它们嵌入任意的UIElements。
     
     
  • RowDetails和分层支持

    C1DataGrid还支持一个RowDetails模板,可以将UIElements嵌入到每一行的可折叠部分。例如,嵌入到另一个DataGrid,您可以为显示分层数据创建一个主从复合结构表格。
    RowDetails和分层支持

 

C1FlexGrid主要功能:

  • 快速轻量

    FlexGrid因快速和轻量著名,当然它还有其他流行的功能。滚动、调整大小、扩展、折叠、编辑,每个操作都非常快!FlexGrid使用完整的UI虚拟化和智能虚拟管理达到了最佳性能。它被证实在加载数据和滚动时有3到10倍的速度。但不要相信我们的话,欢迎您亲自体验比较。在服务器端数据虚拟功能方面,我们还包括了C1DataSource组件,它与FlexGrid for WPF能够很好地相互配合使用。
    快速轻量

 

  • 绑定或取消绑定

    您可以将FlexGrid绑定至任何实例化的IEnumerable,或直接与一个对象列表绑定。除了数据绑定,FlexGrid还可以应用到非绑定模式。使用控件WinForms版本的常见语法能轻松为表格添加行和列。当取消绑定时,表格在内部存储数据。
    绑定或取消绑定

如果你对这两个控件感兴趣,可以到如下地址下载。

C1DataGrid下载地址:http://www.grapecity.com.cn/developer/download.aspx?pid=6

C1FlexGrid下载地址:http://www.grapecity.com.cn/developer/download.aspx?pid=6

如果有问题,可以到官方论坛发帖:http://gcdn.grapecity.com.cn/showforum-138.html