Visual Studio 2010!

Read now >

View Now
DevSource RSS FEEDS
XML Want an easy way to keep up with breaking tech news? And the Get DevSource headlines delivered to your desktop with RSS.
ADVERTISEMENT
ADVERTISEMENT

 

DevSource.com: Your Source for Visual Studio on Facebook
ADVERTISEMENT
Syncfusion's Suite Exceeds Expectations
By David Jung

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.

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.

Syncfusion Corporation Essential Suite 2.0

$1,295 - $1,595




Discuss Syncfusion's Suite Exceeds Expectations
 
>>> Be the FIRST to comment on this article!
 

 
 
>>> More Microsoft and Visual Studios Add Ons Articles          >>> More By David Jung