Experience the FlexGrid's legendary flexibility, speed, and small footprint (the Microsoft® Silverlight® version is under 150KB). Enjoy built-in printing, cell merging, column aggregation, unbound and custom cells, rich editing, and all the extensibility you need for your business applications.
Why use FlexGrid for Silverlight?
Grid Offers Robust Flexibility
C1FlexGrid is a powerful, full-featured grid control that provides all the basics plus advanced flexibility such as outline trees, cell merging, advanced printing, easy formatting, cell customization, and much more. See the sample.
Microsoft Excel-like Behavior
The FlexGrid is modeled after Microsoft Excel, starting with familiar and powerful keyboard handling, editing, filtering, selection, clipboard support, as well as performance and appearance. View the sample.
Easy and Powerful Customization Options
Create your own cell factory class to completely customize the appearance and behavior of the grid. Our samples show how you can implement real-time spark lines and flash changes (great for financial applications) and outline views like the ones shown in Microsoft Excel or Apple's iTunes.
Cross-platform Compatibility
The FlexGrid is the only grid control available on multiple Microsoft platforms (Silverlight, WPF, Windows Phone, WinForms, ActiveX, and Compact Framework).
Fast and Lightweight
FlexGrid is known for being lightweight, less than 190K, compared to 1M to 3M for most competitors. It's proven to be 3-10x faster at loading data and scrolling.
Features
Flexible Data-binding
Easily bind the C1FlexGrid control to anything that implements IEnumerable or bind directly to a list of objects.
Grouping, Sorting, and Filtering
Create hierarchical views of your data which users can collapse and expand; sort data by clicking column headers or filter data out of view. The simple, yet powerful grouping, sorting and filtering mechanisms are offered by the ICollectionView data source. With FlexGrid, filtering and grouping even work perfect together with large data sets.
Group Aggregates
Just set the Column.GroupAggregate property and the grid will calculate and show group aggregates for the specified columns. Aggregates include Sum, Count, Average, etc.
Outline Buttons
By just setting one property, ShowOutlineBar, you can display numbered buttons that expand and collapse each level of the outline tree.
Unbound Mode
In addition to databound support, FlexGrid also works great in unbound mode. Simply add rows and columns to the grid using familiar syntax from the WinForms version of the control. When unbound, the C1FlexGrid control stores data internally.
Cell Merging
Just like the WinForms version, FlexGrid enables cell merging at the grid level. Just set the AllowMerging property on specific rows and columns to enable this feature where you need it. Cell merging will merge adjacent cells that have the same content, while positioning the text so that it is always most readable to the user. C1FlexGrid also supports custom cell merging which can be used to achieve any merging scenario imaginable.
Excel-like Editing
Editing is similar to editing in Excel. Pressing F2 or double-clicking a cell puts the C1FlexGrid into full-edit mode where pressing the cursor keys does not cause the editor to lose focus. Typing text directly into a cell puts the grid in quick-edit mode. The cell editor remains active until the user presses Enter, Tab, or Escape, or any arrow keys.
Excel-like Filtering
FlexGrid includes an extension assembly which adds Excel-like filtering support. Users may set the filter by selecting values that should be displayed or by specifying conditions that must be met by the values in the column.
Printing Support
The FlexGrid control provides a GetPageImages method that breaks up the grid into a list of Visual Elements representing each page in a document which allows for printing in Silverlight with use of a PrintDocument. Rows are never cut in half on page breaks, and each page shows full column headers for best readability.
Multi-cell Column and Row Headers
FlexGrid supports multiple fixed rows for column headers and multiple fixed columns for row headers. This concept allows you to create "bands" or multi-cell headers useful for organizing columns into groups. Cell merging is used to achieve this functionality.
Row and Column Freezing
Freeze any number of rows and columns by simply setting the Rows.Frozen or Columns.Frozen properties. Frozen panes never scroll out of view.
Multiple Selection Modes
FlexGrid has a rich selection model which includes the following selection modes: single cell, cell range, single row, row range, and list box. ListBox selection refers to an arbitrary set of non-continuous rows. You can extract a lot of useful information from the Selection including a collection of data items, or just the string values. You can easily monitor selections in the SelectionChanged event.
Custom Cells
FlexGrid makes it easier to define custom cells by providing a more simpler interface, ICellFactory. Custom cells are useful if you want to display anything other than text in a grid cell.
Quick Styles
FlexGrid provides an easy way to apply simple formatting to a specific grid row or column. For example, you might want to highlight a column by applying a bold font and yellow background to it. This is possible because the row and column objects expose a complete collection of style properties for customizing the fonts and brushes used to render the grid. You can set these style properties in XAML or in code.
High Performance
The FlexGrid is one of the fastest Silverlight grids available. Scrolling, resizing, collapsing, expanding, editing, everything happens fast! The FlexGrid uses full virtualization and intelligent visual management to achieve top performance. But don't take our word for it. Go ahead and compare for yourself.
Autosize Rows and Columns
The C1FlexGrid control has AutoSizeRow and AutoSizeColumn methods that take into account the data currently visible. This can be done quickly and accurately.
Small Footprint
The C1FlexGrid control is light in size at about 190kb. It also has few dependencies (none other than the basic .NET assemblies), and our goal is to keep FlexGrid light and flexible.
Familiar WinForms Syntax
The C1FlexGrid control for Silverlight shares a similar object model to the classic
WinForms version. This includes how the control indexes rows and columns.
FlexGrid for WPF Compatibility
FlexGrid for Silverlight shares the same codebase as
FlexGrid for WPF, so they are 100% source-code compatible. This model enables easier development across both platforms because you can share a lot of the same code and develop applications for the web (Silverlight/XBAP) and desktop.