Previewing v2009 vol 1: Datagrid and editors for WinForms

04 March 2009

These are the new features for the XtraGrid and Editors Suite.

Windows Vista Style Filtering for Date-Time Columns

For date-time columns, you can easily filter data using a handy filter dropdown. This now contains an embedded calendar. In addition, the filter dropdown also contains check boxes that allow the end-user to select commonly used date intervals: Today, Yesterday, Earlier this Week, etc. This provides a very intuitive interface for the task of picking  dates to create a filter.

Date dropdown filter

Note that end-users can easily select multiple dates, month or years by using drag and drop.

Selction of dates by drag and drop

Custom filter conditions are also allowed. You can populate the list below the calendar with any criteria you need. It's not even necessary for you to worry about providing actual start and end dates so that end-users can be sure which dates they are selecting when checking "Last Fiscal Year", for instance. When they hover any filter item with the mouse pointer, the grid will automatically display a tooltip showing the actual start and end dates.

Filtered dates tooltip

Sorting by Summary - End-User Capabilities

In group mode, summaries can be calculated against groups of rows. Now, an end-user can sort group rows according to group summary values by using a context menu. To invoke this menu, right-click a grouping column's header.

Sorting context menu

When a grouping column is sorted in this manner, a special glyph is painted within its header.

Captions for Grid Views

You can enable titles for the grid control and detail View to display captions or any custom descriptive information to end-users. In addition, you can customize the font settings, alignment and foreground color for the title's text.

Captions for grid views

Improved Grid Layout Persistence

The first improvement is the support for automatic saving/restoring of style conditions when the grid layout itself is saved/restored.

Style conditions define rules for customizing the appearance of specific cells and/or rows. The style conditions can now be saved when the grid layout is saved to a data store (for instance, an XML file). Similarly, the style conditions are correctly restored when loading a grid layout. So, you can create style conditions at runtime and they will be correctly stored/restored without any additional code.

The second improvement relates to the ability to automatically save/restore the information on sorting group rows by summary values.

Group rows can be sorted according to group summary values by an end-user or in code. This information is now correctly stored/restored when a grid layout is stored/restored. So, if an end-user sorts group rows in a specific manner, this layout can be maintained between application runs without having to write any complicated code.

Printing and Exporting Only Selected Rows

With this feature, you can print/export only a subset of rows/cards. For instance, you can enable multiple selection mode, select a subset of rows/cards and then print or export them with ease.

Advanced Incremental Filtering in Lookup Editors

If text editing is enabled in a GridLookUpEdit control, an end-user can search for rows by typing text within the edit box. The new PopupFilterMode property specifies how the search is performed. By default, the control searches for the rows that contain the entered text at any position in the row's value. You can also force the control to search for the rows whose values begin with the entered text.

Incremental filtering

Miscellaneous Enhancements

We have of course implemented various minor features from customer suggestions and requests.

  • Tooltip showing entire infoSummary values displayed within narrow columns might be clipped. Now, when hovering over summary values, a hint is displayed showing the full summary value plus any additional formatting applied. (See right.)
  • In Grid Views, we've added the maximum width property to the settings for a column. If you assume that the auto-width feature is enabled for a Grid View, then increasing the grid's width will proportionally resize all the columns. If you want to keep a small width for columns with little content, you can now specify their maximum width.
  • New options have been added to Banded Views that allow you to prevent all bands from being resized and/or moved.
  • With version v2009.1, copying cells to the clipboard also copies the column captions to the clipboard, allowing for the easy identification of cell data.
  • When an end-user navigates through grid cells using the Tab key, all row cells are processed one after another. However, in specific instances, when entering values, you may need to skip some cells. To do this, you can use a new TabStop option to prevent cells from being focused by the Tab key. This will allow your end-users to navigate using the Tab key through the columns while skipping some.
  • Vertical indenting By default, the grid displays detail data compactly, without extra indents. However, with the new DetailVerticalIndent property you can implement your own requirements for vertical detail padding. (See right, notice how the nested grid has extra padding top and bottom.)
  • When the grid is bound to a data source, columns are created for all fields in the data source. By default, the Caption properties of columns are set to empty strings. In v2009.1, the grid uses some heuristics to automatically generate human-readable column captions from field names and display them in column headers. For instance, if a field name is "CustomerName", the caption will be "Customer Name".
  • You can now enable automatic summary calculation for columns displaying TimeSpan values. No additional code is required.
16 comment(s)
Karl Rostock_2

Awesome cant wait for the release

4 March, 2009
Michael Proctor [DX-Squad]

BRILLIANT, the advanced incremental search is JUST what I am looking for, I have a list of 6000 parts that a user have to find something in, I implmented my own dialog form that filtered a dataview and returned values, it is very clunky, this will make the grid alot neater.

Although the 2009.1 is not a new feature packed release, it is equalling exciting to have alot of suggestions implemented, it is nice to see some emails coming through from the support center from suggestions logged years ago being both implemented and rejected.

I think closure on the feature request is better than it swinging in the breeze for a couple of years :)

Again keep up the great work and again look forward to renewing again.

4 March, 2009

You continue to help make us and our apps shine!  Thank you!  This is great stuff!

4 March, 2009
Robert Fuchs

Great stuff!

4 March, 2009
Grant Levy

I'm thrilled with the captions for grid views feature.  I hate having to currently create a banded grid view just so I can have a caption displayed.

And the DetailVerticalIndent makes reading the detail easier on the eyes.


4 March, 2009
Bert Stomphorst

Wow! very nice enhancements!!

Like Michael, I was implementing my own dialog, but now can simply use the lookup.

Also column max width, copying column captions and column header generation are very nice features!

5 March, 2009
Philip Lee

Is there an option so we specify sentence case, e.g. "Customer name" or title case, e.g. "Customer Name" in the column title heuristics?

5 March, 2009

Looks good. Regarding the "enable automatic summary calculation for columns displaying TimeSpan values", does XtraReports and XtraPivotGrid also support totalling for TimeSpan properties?

5 March, 2009

GridColumn.MaxWidth -- This moves me to tears.

5 March, 2009
John Rychter

Is there a chance you could implement DetailVerticalIndentTop and DetailVerticalIndentBottom?

5 March, 2009

Sounds like DetailVerticalIndent should instead be converted to DetailMargins and offer left/right/top/bottom! :)

5 March, 2009
Vu Dang

Hi DX, good work,

question: i know the beta is coming (dont know when)

I know its a beta, but can i use it to release with my product?

or will it just be a BETA, beta, if you know what i mean?

like i cant release it with my product,

5 March, 2009
Julius Jackson

The grid view captions get us ever so closer to a bread-crumb navigation system... excellent.

It might even be possible now with a gridView.Click handler and some good hit testing...)

5 March, 2009
Dirk Grasekamp

I am glad that I have made up my mind to these components 2 years ago. A Gantt is only missing in XtraScheduler now.

Great stuff!

6 March, 2009

Advanced Incremental Filtering is great. However, because users are accustom to the 'standard' way lookups work, I suggest the following subtlety be added: If the list contains a value that *starts* with the typed text (in this example "Mishi Kobi Nuku") it should be selected (focused) by default so the user can simply press the Enter Key and select it.

We've build a derived custom control that works that way and the uses love it.

6 March, 2009

In the second image you say:

"Note that end-users can easily select multiple dates, month or years by using drag and drop."

Can you please expound on this?  I don't understand the "drag & drop" comment.

Also, it would be nice if the checkbox filter items on the bottom could be set to show X columns, I may have quite a few and a two column presentation would be nice.

9 March, 2009

Please login or register to post comments.