ComponentOne VS DevExpress(WinForm篇)
NET目前是市场上主要开发环境了,不但程序员群体庞大,而且.NET组件也非常丰富。但丰富的.NET组件这也让开发者不知道该选什么组件来提高开发效率、产品性能和用户体验,增强产品的竞争力。ComponentOne 和 DevExpress 两家公司的产品目前是国内用户最为广泛的.NET组件。今天先来看看这两个产品的Winform下的简单比较。
总体优势
1,网格控件
网格控件是日常开发中最为常用的控件之一,ComponentOne作为领先的表格类产品提供商已经超过20年了,它供两种不同的表格产品(FlexGrid 和 TrueDBGrid);Devexpress则提供了XtraGrid组件。ComponentOne的表格控件的特点是它的功能和行为类似于Microsoft Excel,同时功能上又在Excel基础上做了很多扩展,如包括多视图、合并单元格、Excel样式过滤器以及C1FlexGrid支持的与XLSX和XLS格式Excel文件无缝导入和导出。而XtraGrid功能完整,展示样式多,事件和属性丰富,做分层的数据非常方便。但就国人的使用习惯,可能ComponentOne的Grid更加符合我们的需求。
下面是一个C1的典型表格样式。
2,报表控件
ComponentOne的报表控件产品支持所有常用特性,例如图表、子报表、参数设定等等。此外,您还可以免费分发和部署C1ReportDesigner到用户终端。C1Reports优于DevExpress的XtraReports产品的功能最主要的是它将很多报表工具集成到了控件中。你可以直接导入已有的水晶报表到C1ReportDesigner中,然后将其转换为C1Reports并开始接下来的工作。此外,您还可以通过C1RdlReprt控件直接使用SQL Server Reports。该控件将完整的RDL对象暴露给您,这样您就可以创建或者编辑SS。RS(SQL Server Reporting Services)报表,而不需要关心Microsoft Reporting Services了。
3,Charts – C1是唯一支持实景3D界面以及等值线图表的提供商。
4,Excel – Studio for WinForms提供了用户方便操作Microsoft Excel的工具
它能够完成表格的导入导出,以及通过C1XLBook对象在代码中控制Excel文件。使用C1将意味着您可以将任何数据从应用中转换到Excel里。
5,PDF – 使用PDF组件
您可以在VB或者C#代码中创建数据绑定的PDF文档。PDF可以将各种元素插入到PDF文档中,例如:签名、注释、书签、输入域、文本和图片。PDF组件同时可以在ASP.NET web 站点上使用,而且不需要额外的license许可。
6,Client Profile
Studio for WinForms 包含一个特殊的版本,每一个控件都支持 .NET 4.0 Client Profile。.NET 4.0 Client Profile是 .NET 平台的一个子集,它可以优化客户端应用。
7,Ultimate
C1 Ultimate中包含OLAP以及Studio for Entity Framework。 C1 OLAP for WinForms在提供了ad-hoc 分析能力。Studio for Entity Framework基于 Microsoft Entity Framework在海量数据处理方面做出了提升和优化。
DevExpress |
ComponentOne |
|
GRIDS |
DevExpress特性旋转视图 – 可以提供一套漂亮量的表格数据动画效果。在现实世界中,当您的用户需要更新数据时,这样的效果并不常用。除非他想坐在那里看看数据到底能转多快。 XtraVerticalGrid – DevExpress提供了一个独立的表格控件,它的主要特性是列头可以变成行头,表格可以换边。C1将这一视图功能集成在了C1TrueDBGrid控件中。此外,C1提供的C1InputPanel可以在绑定数据的情况下输入符合数据模型的实体。这样做的好处是你可以根据一条数据,自定义输入排布方式,从而取代传统的逐个列进行输入的模式。
|
C1 TrueDBGrid在XtraGrid基础上提供以下特性集成的分割器 – 分割器为最终用户提供了将表格在同一视图中分为多区域的能力。举例来说,您需要编辑第23列,但是这一列需要参考第3,4列。那么只能不停的来回移动横向滚动条,这是很痛苦的事情。现在分割器可以让用户方便的将表格分为两个区域,每个区域可以自己决定显示那些部分。 窗体视图 – 这种视图用行头替代列头。数据按列方式呈现而不是交叉行。
C1还提供了InputPanel控件,这是一个用户输入绑定数据的窗体。您可以根据需要选择使用InputPanel或者TrueDBGrid。 C1 FlexGridC1的FlexGrid控件是最易用的,也是用户最为广泛数据表格控件产品。 单元格合并 – FlexGrid 提供了多种多样的单元格合并技术。这些技术可以用最少的字数呈现有效数据,帮助用户减少对相似单元格的无谓关注。 导入Excel – C1 Studio for WinForms为您提供了操作Excel的工具。FlexGrid支持导入导出Excel文件。 快速读取 – FlexGrid对海量数据的读取做了相当深入的优化。
优势
更平滑的滚动 – C1使用系统的滚动条,由于它不用关心自定义画法,因此在响应鼠标以及移动时会更平滑。DevExpress XtraGrid使用的是自定义的滚动条,因此在现实中等级别或者大量数据的时候,滚动条会有肉眼可见的迟滞。此外,设置样式后的滚动条无法与系统中其他的滚动条相匹配,除非整个系统全部使用DevExpress的产品。
支持打印 – XtraGrid如果要支持打印和打印预览功能,需要XtraPrinting库。而FlexGrid和TrueDdBGrid支持打印和打印预览所需要的C1PrintPreview已经包含在Studio for WinForms产品包里了。您只需要一行代码就可以实现打印和打印预览。
自适应列宽更方便 – C1 表格控件产品原生支持自适应列宽,所以单元格内容的自适应功能非常方便。
|
CHARTS |
C1和DevExpress的WinForms平台下的图表控件都提供了常用功能,例如:各种图表类型、旋转、缩放、滚动、透明、导出、提示、标签、多轴、对数、设计时向导、自定义样式以及便捷的数据绑定。 | |
DevExpress提供为甘特图了进度条和关系箭头的支持。C1将在2012的某个版本中支持这一功能。此外,DevExpress还有漏斗图表类型(Funnel Chart)。 | C1提供实景3D图表以及3D样式的2D图表(C1Chart3D 控件)。您可以生成3D界面和柱状图表,同时可以进行3D旋转和标签标识。 | |
REPORTS |
C1和DevExpress的WinForms平台下的报表控件都提供了相同的功能,例如:报表向导、设计器、多列、脚本语言支持、排序、分组、预览、图表、子报表、汇总和钻取功能。DevExpress的报表设计器是嵌入在Visual Studio中的,C1的报表设计器是独立可执行的。两者都允许用户将报表设计器部署到最终用户的客户端。 | |
报表设计更加直观方便 | ||
Scheduling |
C1和DevExpress的WinForms平台下的日程控件都提供了相同的功能,例如:按日浏览、全天约会记录、资源匹配、约会标签、自定义约会图片、按月浏览、按周浏览、循环预订、提醒、日历同步、iCalendar文件格式支持、打印、数据绑定、非绑定模式以及本地化。两者都支持的重要特性包括时间轴浏览和资源分组(比如为多个用户创建多列的约会记录)。 | |
其他控件 |
C1Win7Pack – 为您的系统提供Windows 7样式的进度指示器、缩略图以及Windows 7任务栏中的弹出列表。 C1SuperTooltip – 为您呈现更具吸引力的提示信息,包括渐进效果、图片以及丰富格式。该控件是基于标准Tooltip控件衍生而来,因此您可以方便的用于您窗体中的任意元素上。 C1PDF – 通过我们的PDF控件,您可以在代码中方便的创建PDF文档。PDF控件同时可以作用于ASP.NET网络站点中,而且您不需要额外注册认证许可。 C1DynamicHelp – 将帮助文档直接嵌入在您的系统中同时可以匹配并定位到某一个主题或者章节。当您的系统需要提供帮助文档时,这个控件是非常实用的。 |
其他
除了Studio for WinForms, C1还提供了另外两个WinForms的产品:OLAP for WinForms以及Studio for Entity Framework。
OLAP for WinForms – 这款产品对应于DevExpress的Pivot Grid,OLAP通过集成的图表和报表,为用户提供了更完整的分析体验。此外,C1Olap控件在Microsoft Excel 的pivot table基础上提供了相似的界面。
Studio for Entity Framework – 如果您在 .NET 4.0的WinForms平台下工作,推荐您使用Entity Framework来控制和管理您的数据。Studio for Entity Framework简单易用,它对EF做了扩展和加强,使您能够在代码中更方便的控制数据,同时在读取海量数据时性能
完整控件对比
下表列出了所有控件,包括Studio for WinForms的和DevExpress的。
ComponentOne Control |
DevExpress Offering |
C1BarCode |
-- |
C1Calendar |
X |
C1Chart |
X |
C1Chart3D |
-- |
C1Combo |
-- |
C1DataExtender |
-- |
C1DataObjects |
-- |
C1DockingTab |
X |
C1DynamicHelp |
-- |
C1Editor |
X |
C1Excel |
-- |
C1Flash |
-- |
C1FlexGrid |
-- |
C1Gauge |
X |
C1nput |
X |
C1InputPanel |
-- |
C1List |
-- |
C1MainMenu |
X |
C1NavBar |
X |
C1OutBar |
-- |
C1PDF |
-- |
C1PrintPreviewControl |
X |
C1Report |
X |
C1ReportDesigner |
X |
C1Ribbon |
X |
C1Schedule |
X |
C1Sizer |
-- |
C1SpellChecker |
X |
C1SplitContainer |
-- |
C1StatusBar |
X |
C1SuperLabel |
-- |
C1SuperTooltip |
-- |
C1Toolbar |
X |
C1TopicBar |
-- |
C1TrueDBGrid |
X |
C1Win7Pack |
-- |
C1Zip |
-- |