In our 18.1 Ultimate UI for Windows Forms release, we aimed to provide the most complete Microsoft Excel & Spreadsheet solution for .NET application development.
Today, Infragistics Excel engine and Spreadsheet control features over 100 supported functions. Additionally, we have delivered updated to our Windows Forms Data Grid and Windows Forms Data Chart. Let's look at what's new.
Excel Engine and Spreadsheet Features
We'll start with the Infragistics Excel Engine which is capable of creating full Microsoft Excel Workbooks, so while using this object model, you can load, modify, and save Excel workbooks. This has been integral to our Ultimate UI for Windows Forms for some time, and it's now received a multitude of updates to provide user flexibility and ease. We'll begin with a few of the significant featured updates and then move into a brief overview of other supported spreadsheet functions.
Conditional Formatting
As you might have guessed, we can now leverage conditional formatting into the spreadsheet with this feature. The spreadsheet will now support the rendering of all conditional formatting options available in Excel. As it turns out, Excel has several predefined styles that you can use to conditionally format your data: Data Bars, Color Scales, and Icon Sets. I've respectively shown them below for reference and included a sample of what your Windows Forms spreadsheet might look like with conditional formatting.
This now opens a variety of doors for your data. If you're looking to display a simple icon, compare values, create alternating bands, or find duplicates, our Excel engine will help you out.
Worksheet Sorting and Filtering
Considering our discussion of formatting, it's fitting to move into the sorting and filtering options that have been included. Typical of any sorting or filtering function, you're looking to find information quickly and concisely within your data. While we had these functions working within a Worksheet Table, we've gone ahead and made it so that you can now sort and filter your information outside of a table. Essentially, you can define a single area, within the Worksheet, but outside of the table, and you can apply these operations. In addition to this, the sorting and filtering classes are now public. These were previously internal because the only way to specify an icon is via a conditional formatting icon set. Luckily, as you just noted above, the advent of conditional formatting has now made this possible.
List Validation
Often when working with repetitive and selective information, you'll find yourself turning to list data validation to help with your work. This type of data validation will either contain an explicit list of values, or it'll point to a range of cells that contain the values. So, when you have your list validation set up for a particular column, for instance, you will see a cell drop-down option that then lets you select the appropriate data from your specified list. So, why the overview? Because while we had list data validation in place, users had to know of the list's specifiers to type in the relevant data, since there wasn't a cell drop-down option. In this update, we've added the cell drop-down option for ease and functionality.
Cell Drop-Down
To further highlight added cell drop-down functions, there's a shortcut that's frequently employed when users are inputting the same data from a list. This differs from list data validation, as you're not directly correlating a set of cells to a list of data, but rather calling up a list that implicitly uses the data that surrounds the cell in which you're working. With Windows Forms in mind, we decided to change this function slightly, since if we made this possible in Edit Mode for the Worksheet, it would have generated complications with focus handling.
Table Improvements
There are a multitude of table improvements, so I'll underscore a few of them, and you can glance at the rest when you get a chance. The major ones to come with this update are Copy and Paste, Editing, Tab Navigation, Total Raw Formulas, and ContextMenu.
With Copy and Paste, you can now select an entire table, copy it to the Clipboard, and paste elsewhere to have a new copy of that selected table created. Also, when pasting in a Worksheet Table, the table will be automatically expanded to encompass the area of the paste function.
As for Editing, when you find yourself typing or editing immediately adjacent to the bottom or right edge of a Worksheet Table, the Table will be expanded.
Tab Navigation will navigate within the table, wrapping to either the next or previous row. Like Excel, the table will also be automatically expanded when tabbing from the last visible cell of the table.
With Total Raw Formulas, we slightly differ from Excel with our drop-down function, as Excel spawns another dialog for formulas. When you have a total row or column highlight in Windows Forms, you can select the drop-down button to pick a common formula for the table.
For ContextMenu, some additional items were added, such as menu items for inserting and adding rows/ columns to a table, selecting rows/ columns of a table, toggling the total row, and converting a table to a range.
100+ Supported Functions
Beyond everything that we've spoken about so far, there are a number of additional popular functions supported, including SUM, CONCATENATE, and COUNTA, and a host of others through which you can easily scroll.
Grid Events
Column AutoSizing with UltraGrid
Moving from the spreadsheet features, let's discuss the two new events that were added to the UltraGrid: BeforeAutoSizeColumn and AfterAutoSizeColumn. The purpose of these events is to allow developers to modify or to override the AutoSize width of a column. We're pointing this out because it's quite useful if you're using CreationFilter or DrawFilter in a way that affects the required width of a column. CreationFilter, for instance, only affects the rendering layer, so the grid can't adjust the auto-size width. Overall, this is now a great way to add extra pixels to the width of a column, especially if you're looking to accommodate an extra element.
Data Chart Controls
Scatter Series
For our last major update, we added four new types of scatter series to the UltraDataChart control, so let's take a brief glimpse at each of them. Please note that I've linked each chart title to its page that holds more detailed information, and there's a helpful graphic below the descriptions.
Scatter Area Series: This data chart draws a colored surface based on a triangulation of X and Y data with a numeric value assigned to each point. This series is useful for rendering heat maps, magnetic field strength, or Wi-Fi strength in an office.
Scatter Contour Series: This chart draws colored contour lines based on a triangulation of X and Y data with a numeric value assigned to each point. This series is useful for rendering contour maps, changes in magnetic field strength or rendering an overlay on top of ScatterAreaSeries
Scatter Polygon Series: This one is a visual element that displays data using polygons. This type of series can render any shape that you'd like. All you need to do is bind a List of List of Point objects or load a shapefile with polygons using the ShapefileConverter
Scatter Polyline Series: And for the last one, it displays data using polylines. This scatter series is often used where rendering disconnected lines are required such as a network graph or multiple connections between scatter data points. This series has the same data requirements as ScatterPolygonSeries does, and it also can render data from shapefiles.
In closing, we’ve walked through some impressive enhancements to our Ultimate UI for Windows Forms in this 18.1 release. We've added the most-wanted spreadsheet features and updates to its grid events and data chart controls. In continuance of your work with Ultimate UI for Windows Forms, please make sure to head on over to the product page to view all the updates or try your hand at the free trial. If you already have Ultimate UI for Windows Forms, make sure to update to the latest version. Furthermore, if you’re looking to connect and stay with us on updates, follow us on Twitter via @Infragistics or check out the Community Forums.