DevExpress provides an excellent set of tools and controls to enhance Microsoft Visual Studio. This review focuses on the subset of its product line devoted to ASP.NET. The DevExpress ASP.NET Controls make it possible with little or no programming to quickly support user requirements to access data. This set of tools provides enhanced usability out of the box so that you can use Visual Studio to identify a data source and quickly populate a grid, chart, or similar ASP.NET web page with data.
DevExpress ASP.NET Controls
The tools are licensed via your email address. You then download the standard installer from the DevExpress Client Center. During the installation process, you'll be asked to provide your email address and account password to activate the tools. In addition to the ASP.NET Controls, the installation process lets you install the full suite of tools for trial purposes. When installation is complete, you're given the opportunity to install the sample applications, which provide not only sample source code but also ideas on how to leverage the controls.
In addition to the ASP.NET UI controls, DevExpress ASP.NET Controls includes a library for printing support, a reporting tool, a charting suite, and a library for mapping objects to relational data structures. The basic purchase price includes one year of support and upgrades, but you can extend this via an annual subscription. The subscription isn't required, but it ensures that you continue to receive upgrades to the package and it includes priority Help desk support.
As an example, let's look in detail at the ASPxGridView control. Figure 1 shows the grid in use in a simple ASP.NET web page that I created with no custom code.
Figure 1: An example of the ASPxGridView control
You can see the grid on the form, and I've enabled text-based filtering for the columns; the c in the text box at the top of the left column is filtering the results to those where the manager last name starts with C. At the bottom of the grid, you'll see the built-in paging capabilities, showing there's a second page of data that meets this filter. In addition to sorting, filtering, and related grid capabilities, the suite includes an easy-to-apply set of design templates (one of which I've applied) to quickly give your application a more professional look and feel. To create this page, I added only the ASPxGridView control from DevExpress and a SqlDataSource ASP.NET control that ships with Visual Studio.
After I associated the data source with a copy of the AdventureWorks database, I was able to quickly hook data into the grid and hide unwanted columns from the display. Binding DevExpress ASP.NET controls works the same way you're accustomed to with other ASP.NET controls. Also, ASPxGrid provides two filtering options. In addition to the text-based filter shown in Figure 1, there's a drop-down list from each column that displays all available values from that column.
Another capability above and beyond standard ASP.NET controls is the grouping of rows to quickly associate common data. You can drag and drop any of the column headers into the title bar, and the grid dynamically groups your data based on that column. You can even have the data load already grouped in order to manage a large data set by grouping portions of the data.
Another of the controls that ships with DevExpress ASP.NET Controls is the ASPxGridViewExporter, which lets you take your grid data and return it back to the user in another format. For example, a common request from users is to export data to Microsoft Excel. To do this with the ASPxGridView control, you can add a standard ASP.NET button to your form, then use Visual Studio to generate an event handler, to which you add a couple lines of code. That's it—complete, reliable export to Excel or, if you prefer, PDF, CSV, or even RTF is supported out of the box.
The ASP.NET controls are grouped within the Toolbox based on broad categories, such as Reporting, Data, Actions, and several other custom categories, making it possible to quickly find any of the approximately ninety different controls. In addition to ASPxGridView, I really like others from the Data category, including the WebChartControl and ASPxGaugeControl, which make providing graphical displays of data easy. Outside the Data category, you might want to look at the RichEditControl (RTF editor) and the advanced printing control library, Xtra.Printing. You can have multiple different versions of these tools installed on your development machine and quickly find controls from specific versions. Therefore, if you have existing code built with, say, version 9.2 and you aren't ready to migrate that website to version 10.1, you can continue to build with the correct version and even add other controls from the same version of DevExpress ASP.NET Controls.
I've found DevExpress's online database to be very helpful and loaded with useful examples. I've also submitted questions via the DevExpress Support Center (www.devexpress.com/Support/Center) for help accessing a feature in a control or because of some other problem. In all cases, their support team has been very responsive, with turnaround within about 24 hours; however, I'm using a subscription, so your mileage may vary.
If you're considering a set of ASP.NET controls, DevExpress is definitely a vendor that you should consider and that I personally recommend. At this point I wouldn't think of using a native .NET grid control in any ASP.NET or Silverlight application; these tools are now the baseline from which I begin.
Related: Visual Studio 2010 Database Tools