HomeAdd Ons Syncfusion's Suite Exceeds Expectations
Syncfusion's Suite Exceeds Expectations ByDavid Jung 2004-05-06
Article Rating: / 0
Rate This Article:
Add This Article To:
Essential Suite 2.0 bundles a gaggle of features. It costs a bit more than a few of its competitors, but has several unique controls that you won't find anyplace else.
An abundance of .NET component suites for WinForm-based development promise to help you build grids, charts, and general user interface look-and-feel objects. Syncfusion Corporation's Essential Suite 2.0 includes most of these features, and also includes compelling components not found in the competition. The result is a great set of tools that really do help you write code more effectively.
Essential Suite contains a bunch of tools, among them those to create 2D charts and Visio-like diagrams, enhanced editing controls, expanded functionality for your code to read and write Excel files, a grid control, a library that allows you to group lists of data, and a collection of user interface controls. While each has its pluses and minuses, the most compelling components are an Excel file reader and writer that doesn't require the use any
OLE automation; a popup message interface (similar to MSN Messenger notification); and a diagram control that allows you to add workflow diagrams to your application.
ADVERTISEMENT
Spreadsheets without Excel
When spreadsheets were made popular with Visicalc and Lotus 1-2-3, people used them for their originally intended purpose: crunching numbers. Nowadays, the most common use for spreadsheets seems to be to display data extracted from a database instead of generating reports.
A common way of extracting that database data is to create a dataset and then use OLE automation to create the Excel worksheet files. That's a fine technique when you're retrieving a small amount of data, but OLE automation becomes unworkable for large datasets that span 20 columns and several worksheets. I've seen situations where the data was retrieved in two minutes but the Excel file took almost an hour to create. Another drawback is that if you want the OLE automation to run server-side, it requires Excel to be installed on the server.
The Essential ExcelRW library in the Essential Suite gives you methods for reading and writing native Excel files without having Excel installed on the computer at all. You can create both worksheets and charts, complete with cell formatting, formulas, and cell protection. If you're familiar with OLE automation for creating a worksheet, you'll feel right at home working this library. The following VB.NET code is an example of creating a
worksheet from data from dataset:
' A new workbook is created.
Dim oWorkbook As IWorkbook =
ExcelUtils.CreateWorkBook ("devsource.xls")
Dim oSheet As IWorksheet = oWorkbook.Worksheets(0)
Dim xIndex As Integer = 6
Dim yIndex As Integer = 1
Dim k As Integer = 0
Dim i As Integer = 0
Dim j As Integer = 0
' Create the column headers from the dataset’s column name
For i = 0 To dsCRM.Customers.Columns.Count - 1 Step 1
oSheet.Range((xIndex - 1), i + 1).Value =
dsCRM.Customers.Columns(i).ColumnName
Next
Dim dr As DataRow
i = 0
' Populate the worksheet with data from the dataset
For Each dr In dsCRM.Customers
Dim colCount As Integer = dsCRM.Customers.Columns.Count
i = xIndex
For j = yIndex To (colCount + yIndex) - 1 Step 1
oSheet.Range(i, j).Value =
dr.ItemArray.GetValue(k).ToString()
k = k + 1
Next
xIndex = xIndex + 1
k = 0
Next
oWorkbook.Save()
oWorkbook.Close()
' Don’t catch any exceptions of there are any unsaved work
ExcelUtils.ThrowNotSavedOnDestroy = False
Does that look familiar? The main difference between this code and the OLE automation is the reference to the ExcelRW library versus the Excel object model.
User Interface Controls to the Max!
Despite Microsoft's best efforts to provide developers with common user interface (UI) controls, they never seem to keep up with the user interfaces in the Windows operating system or Office. If you want to make your WinForm look anything like Windows XP or Office 2003, the intrinsic controls that come with the .NET framework fall short.
GroupBar controls let you create menus in various forms.
That's where the Essential Tools in the Suite come in. With over 90 controls, you're bound to find a UI control to enhance your user's experience. The controls are grouped in several
packages:
CommandBars: controls that create dockable toolbars for intrinsic .NET menus
Docking: controls to create dockable panels, similar to those found in VS.NET
Editors: controls that enhance the user experience, such as AutoComplete text boxes and masked edit controls
GroupBar: controls that let you create different groups of menus, like those found on Windows XP's control panel and in Outlook 2003
Layout Manager: a library that permits you to control the appearance of form objects
Menus: offers many of the menu interfaces found in Windows XP and Office XP
Notification: a control that provides visual feedback elements, such as splash screens and popup messages
Tabbed MDI: tabs on MDI children similar to the docked panels is VS.NET
Tabs: advanced tab layouts to be used on forms
Tree: improved treeview controls
Wizard: create your own wizard interfaces and Office XP-style task panes
Diagramming without Visio
In this release, Syncfusion adds additional Microsoft Office capabilities for developers who don't want to rely on those products being installed. Essential Diagram, another impressive piece of the Suite, lets you include diagramming features embedded within your application.
An application with org chart symbols
With Essential Diagram, you create your own symbols and shapes with a Symbol Designer. The symbols can then be used within a symbol palette within your application.
While I appreciate these capabilities, I did find a few drawbacks in this component. There's was a fairly steep learning curve to get the diagrams integrated with your application
properly. Also, you can't tie the symbols to a database, export a diagram, or print it. Despite these disappointments, this is really neat component.
Sensitivity to Licensing Issues
When developers use third-party components, they're often concerned about how the vendor manages licensing work, for both using the components on their workstations and distributing the components with their applications. Although the license is for a single developer, Syncfusion is aware that a developer may have more than one development system; as a result, they allow a single license to be installed on the work machine, a laptop, and a home machine. That's pretty forward thinking, because some companies make you jump through hoops for such permission.
As for distributing the components with your application, it's the standard royalty-free distribution model that is very common among independent software vendors.
The suite's documentation provides enough information to give you an overview of how each component and library works, with a lot of examples in both C# and VB.NET. However, I found myself wanting more documentation. Once you get past a general understanding, the documentation doesn't really go deep enough. Instead, you'll learn to pay attention to the IntelliSense help: the company documented the object model well enough for you to find insight on methods or properties that aren't explained in the online help.
Nor should you expect to install the software tomorrow morning and be an expert by dinnertime. Even if you're a quick study, some of the components offered in Essential Suite—such as Essential Diagram—take a while to master.
Syncfusion offers both knowledgebase articles and forums through their Web site. Though I didn't try their direct technical support, they use an incident management tool called Direct-Trac and guarantee same day response on issues submitted before 2:00pm on any business day. That's impressive.
The Notification control makes it easy to include splash screens and popup messages in your apps.
If you're looking for some great components for your WinForm applications that will enhance your user's experience, definitely look into Essential Suite. Its only serious drawback is that Syncfusion does not ship any of their components for ASP.NET solutions.
Besides selling each component group separately, Syncfusion offers their suites in two different formats: binary only, or binary with source code. For the binary only version, the suggest price is $1,295; the binary with source code, written entirely in C#, costs $1,595.