Web and Windows Forms controls accelerate development.
Infragistics NetAdvantage Suite
Web and Windows Forms controls accelerate development.
By Brian Noyes
Building professional-looking user interfaces for Windows applications and Web sites can be time-consuming and challenging if you work only with the contents of the Visual Studio box. Web Forms and Windows Forms are new arenas in .NET development. They provide a much improved component-based model for developing reusable controls you can embed in your user interfaces. There are a lot of common interface elements, but you must still write a fair amount of code to implement them in a reusable manner for multiple applications or interfaces.
Infragistics' NetAdvantage Suite 1.2 addresses the reusability problem. The suite delivers a cornucopia of pre-built controls for both .NET and legacy Windows (Visual Studio 6) development that let you create polished, professional interfaces for your applications quickly. Basically, NetAdvantage is an aggregation of three components from Infragistics: UltraWebSuite, UltraWinSuite, and UltraSuite, each of which contains a collection of controls. I'm going to focus on the .NET Web controls in the UltraWebSuite because these are what ASP.NET developers will use most often. But first, let me briefly describe NetAdvantage's other features.
UltraWinSuite contains rich Windows Forms controls for creating grids, charts, trees, and scheduling applications. UltraSuite contains a bunch of COM (ActiveX) controls for tables, trees, schedules, toolbars, and hierarchical data grids. The controls in either UltraWinSuite or UltraSuite could be viable players for Web applications, as well. You could use the Windows Forms controls if you wanted to deliver a rich client application over the Web with .NET Xcopy deployment techniques. You could embed the ActiveX controls in your Web pages as objects to provide a rich user-interface experience inside the browser, with the usual limitations of Web-deployed ActiveX controls. When you see what is available with the UltraWebSuite controls, however, you won't want to bother with ActiveX controls and WinForms for most applications.
NetAdvantage comes with many sample applications demonstrating how to use each control and extensive documentation. The .NET controls include a help system that integrates into the Visual Studio .NET Combined Help Collection (VSCC), as well as individual topic links in the Start menu for each control. Help in the UltraSuite collection of ActiveX controls is contained in a single WinHelp document you can find from the Start Menu. The help for each .NET control includes task-based help describing how to use the control as a series of steps, as well as a reference section that breaks the control namespace down into all the classes that compose the control and the methods, properties, and events for each class to which you have programmatic access. The sample applications run as soon as you take them out of the box, but they also provide source code and Visual Studio projects, so it's easy to pick them apart to see how to code against the controls.
Powerful ASP.NET Server Controls
UltraWebSuite is organized into four parts, each with its own set of controls: UltraWebBars, which contains the UltraWebTab, UltraWebListbar, and UltraWebToolbar controls; UltraWebNavigator, which contains the UltraWebMenu and UltraWebTree controls; UltraWebGrid, which contains the UltraWebGrid control; and UltraWebChart, which contains the UltraWebChart control. The controls have a consistent programming interface. They are all ASP.NET server controls, so they integrate nicely into the Visual Studio .NET forms designer. You can drag and drop them on the designer surface, and you can use the Properties window to configure all their settings at design time in a familiar, component-based approach that requires little or no code. The controls also expose their properties as well as a host of methods and events you can use to control their appearance and behavior at run time. Thanks to the .NET Framework architecture and the fact that Infragistics did not seal its classes, you can derive your own classes from those in UltraWebSuite to encapsulate specific settings or behaviors you want to customize or add.
UltraWebNavigator and its controls let you implement dynamic user-interface controls and behaviors for navigation, including horizontal and vertical menus (with flyouts), hierarchical trees, pop-up menus, and outlines. UltraWebNavigator also includes its own little development environment named UltraNavStudio. UltraNavStudio allows you to design menus and trees in an environment that's easy to use. It lets you select from a wide variety of predefined styles, define and save your own styles, and preview the run-time behavior of the control in a miniature browser window. Dynamic behaviors, such as hovering and flyouts, are simply a matter of setting a property or two. The same is true for tasks such as assigning colors, image backgrounds, fonts, and styles.
Figure 1a. UltraNavStudio provides a design-time environment for configuring the UltraWebNavigator controls.
Figure 1b. UltraNavStudio provides a design-time environment for previewing the UltraWebNavigator controls.
The UltraWebBars controls let you add toolbars, tabbed pages, and Outlook-style list bars to a Web Form quickly. The UltraWebToolbar is a control container itself, so in addition to adding image and text buttons easily, you can host your own custom controls, such as a drop-down list, within it. The UltraWebTab control lets you put a tab bar anywhere on your page that contains other controls or content for display when the tab is selected. At design time in Visual Studio .NET, it is a little ugly because all the controls and content for each tab appear to be overlaid on one another, even though at run time the contents are shown one tab at a time. The UltraWebListbar lets you create Outlook-style navigation bars with images for each selection item and categories to group items. And, like all the other controls, UltraWebListbar is highly customizable, with properties for things such as background images, fonts, and colors.
The UltraWebChart control is a single control, but it's a highly functional and complex one that allows you to create 2-D and 3-D charts of various types and with levels of complexity and control similar to what you've seen in Microsoft Chart. It has column, bar, area, scatter, line, pie, bubble, and other types of charts, and you can assign colors, bind to data, and set legends, axes, and data markings easily. The control also includes built-in mouse-over effects for reading off values from many of the chart types. For Web-based data presentation, this control's ease of integration and level of functionality are tough to beat.
Figure 2. Use the UltraWebChart control to visualize your data from the Web. A plethora of chart types and customizations makes integrating this control a snap.
The UltraWebGrid control builds on the functionality of the .NET Framework's DataGrid control. UltraWebGrid simply speeds the process of creating various grid types by minimizing the amount of code you need to write to implement common features such as data binding, hierarchical data display, end-user grid customization, and view state. You can get a fully functional grid of dynamic or static data integrated and looking good in your Web Forms much quicker with this control than you could if you tried to code it yourself.
Figure 3. The UltraWebGrid extends the capabilities of the .NET DataGrid, saving you considerable amounts of customization and coding to achieve commonly desired appearances and behaviors.
All It Claims to Be
Surprisingly, the controls are not integrated into the toolbox after installation, so you'll have to go through and add them yourself using the Customize Toolbox dialog to make them readily accessible at design time. It would have been nice if a simple add-in could have added the controls in a tab group within the toolbox for you. But other than that minor complaint, the control suite delivers a lot of functionality for the price. I found NetAdvantage easy to install and use, and I feel it lives up to everything it is marketed to be. The large number of relevant samples, the ease of use in the designer, and the extensive customization available with each control will make you wonder why you would ever bother coding the same features yourself from the base .NET Framework controls. When you consider that server controls like these, which provide a rich designer experience for integration, provide no designer support at development time in Visual Studio, the reasons to use NetAdvantage are even more convincing.
Because these are server controls, you don't have to worry about deployment licensing, but you will need a license for each developer. The nice thing for those of us who develop on multiple machines is you only need one license. As long as you are the only one developing with the controls, you can install them on multiple machines as long as you don't pass them off to another developer.
Brian Noyes is an independent software consultant and president of Software Insight (http://www.softinsight.com). He's a Microsoft Certified Solution Developer (MCSD) with more than 11 years of programming, designing, and engineering experience. Brian specializes in architecture, design, and coding of cutting-edge software systems, and he contributes to numerous trade publications. E-mail him at mailto:firstname.lastname@example.org.
Infragistics' NetAdvantage Suite is a control library that includes .NET Web Form controls, Windows Form controls, and ActiveX controls that speed development of rich user interfaces for your Web-based and Windows-based applications. The suite features:
- Controls for grids, trees, charts, menus, toolbars, tabs, and other common user-interface elements
- Extensive customization of appearance and behavior through methods, events, and a large property set
- Visual Studio .NET integration with Forms Designer drag-and-drop placement of controls and Property window manipulation settings
- Many sample applications and extensive source code
- Easy and intuitive coding model
Windsor Corporate Park
50 Millstone Road
Building 200, Suite 150
East Windsor, N.J. 08520
Phone: (800) 231-8588; (609) 448-2000
Web Site: http://www.infragistics.com
Price: Starts at US$495