Brandon Owensby from Veriquant
Life Before DevExpress
I previously worked on a project to customize the grid control that comes with the .NET Framework. While working on the project I wanted to modify the grid so users could use different controls to edit their data. The project turned into a daunting task with items that should be simple, like using a combo box as an edit control in the grid. Once I got the customizations working, I had limitations and still did not have many other options as editing controls. To top it off, I needed to take the project to another level creating a screen with a grid that appeared as a vertical grid. This required me to create different editing controls on different rows and use multiple columns in a source table to control the behavior of the grid. Once again, I had fallen victim to the lack of available editing controls and the difficulty in adding my own controls.
Reporting was another area I worked in. I was required to put together screens that allowed the customer to pull up and manipulate data by means of sorting, filtering, or printing it when they were finished. To accomplish this task, I needed to make certain I could track all the ways they could manipulate the data, so I could run and print a report with the same data and same format. This task was challenging because it was difficult to give them a lot of options to manipulate the data. For example, if they wanted to hide information on the grid I would have to hide that column on the report and adjust the report accordingly. To add to the frustration, when we added features to the grid we needed to decide if the features could be implemented with the reporting; if not we would need to disable the features for those screens.
Life After DevExpress
When I started using DevExpress, I immediately noticed the wide variety of features available in the grid control (XtraGrid). One exciting feature was having the ability to choose column specific controls that were beneficial; such as, using controls to edit data on columns and having a list of over 20 controls to choose from. Furthermore, every element of the grid was super customizable from simple things like: numerous settings, being able to easily create my own version of classes, and having the ability to override almost every function easily. I was able to recreate what I had done before with the default .NET grid control in a fraction of the time with XtraGrid and I got more functionality to boot.
The next step was to redo the grid control that I created to act as a vertical grid. I was able to take advantage of numerous events and the ease of changing the repository to write that screen with the XtraGrid easily. At this point I was hooked.
The XtraGrid helped me with reporting as well. With DevExpress, not only can you print straight from an XtraGrid, you can include a grid in a report as well. With the XtraGrid users can sort, group, and filter data right out of the box. Also, the XtraGrid allows users to re-order, hide, and show columns to make the data fit their needs. This control makes it ideal and allows users to easily print data in many forms, without the headache experienced previously. Users can take XtraGrid further by creating a report that includes a grid. This allows users to add headers, footers, or other information around the grid data before printing. You can even have two grids in the same report.
If I Needed to Tell a Friend about DevExpress...
I would load up Visual Studio, create a new windows application, throw a grid on the form, link it to some data, and run it. They would see how incredible the grid and data look with very little effort and how much they can do with the data. Then I would tell them if I can do that much that easily...imagine what I could do with more time?