WinForms Data Filter Editor Control (coming in v2010 vol 2)

Thinking Out Loud
24 August 2010

We wanted to give you an early preview of a new WinForms control - a Data Filter Editor to be part of the XtraEditors Library and available to all active (non-expired) Subscribers (DXperience WinForms, Enterprise, Universal).

Since this product is in active development, I don't have exciting screenshots to offer, but I do want to explain how the control will work and solicit any feedback you might have.

The new Filter Editor Control is a hybrid of our current Filter Control (Tree-like data filter) and a text-based filter editor. It has 3 usage scenarios:

  • As a Tree – Works much like the current Filter Control.
  • As an Editor – Text editor based on our RichText editor. Supports highlighting and intellisense.
  • As a TreeEditor/EditorTree – offers both modes and end users can switch from one to the other. Note, however, since the text editor allows the end user to create any criteria, the “tree” filter may not be able to convert the freely entered criteria to “tree” criteria. In this instance, the “Tree” tab will be disabled. In the reverse scenario, the text editor will be able to show every criteria that can be created when using the “tree” editor.

Our ultimate objective with this new control is to allow your customers to create a wide range of filter criteria with ease (by exploiting text highlighting and intellisense). Your "power" users should be more than happy.

The Filter Editor Control will be available for standalone use. It will ship with the XtraRichEditor and DXperience Subscriptions (WinForms, Enterprise, Universal).

All other controls - such as our WinForms Grid, WinForms Tree List - that currently use the FilterControl as a criteria editor will have the option to use this new Filter Editor Control. The XtraGrid will have an additional option:
gridView1.OptionsFilter.DefaultFilterView (Editor, EditorTree, Tree, TreeEditor).

In addition to our container controls, we hope to enable support for XtraReports and XAF by the time v10.2 is released. 

Here are a few early screenshots...

WinForms Filter Editor Control

WinForms Filter Editor Control

WinForms Filter Editor Control

WinForms Filter Editor Control

 

22 comment(s)
Jascha
Jascha

Looks great! Could I request that the field drop down (as shown for the Quantity property above) also allows adding of property paths as some of your other filter editors already do. I.e. given class x, the drop down should allow adding a filter against property z where the path from x is x.y.z

24 August, 2010
Sigurd Decroos
Sigurd Decroos

Interesting control, I'm wondering how well this will work. Please provide a property or function towards SQL syntax so it can be used as a where clause string with ease.

24 August, 2010
Michael Proctor [DX-Squad]
Michael Proctor [DX-Squad]

Ray,

Great to hear some love coming for WinForms ;)

One question though is this the implementation of www.devexpress.com/.../S20272.aspx

In other words will the dropdown be able to list children/collection (with aggregates)?

24 August, 2010
Neal
Neal

This is not clicking for me.  I cannot see a use for this.  Can someone open my eyes as to where/why this would be used?  I don't intend to be harsh, just my feedback that I'm not seeing the benefit.  Please educate me so I can see where it would bring value to an app.  Any real world examples or reasons that led to this effort?

24 August, 2010
Robert Fuchs
Robert Fuchs

Great - Finally.

I hope it will allow to create *any* valid CriteriaOperators (see: devexpress.com/.../S31300.aspx) and that we will be able to add filter criteria that involve children objects (see: www.devexpress.com/.../S20272.aspx)

24 August, 2010
Steven Rasmussen
Steven Rasmussen

I have been waiting for this for quite some time now so this is great news!

It appears as though most of the work with this has gone into the 'Editor' part (which I understand was probably a HUGE undertaking to get the syntax highlighting and intellisense).  However, I was hoping that there would be improvements to the 'TreeEditor'.  For examples of what I am talking about please see my suggestion here: devexpress.com/.../S20272.aspx .

In the pdf attachment I give examples of what I would like to see implemented in the 'TreeEditor', ie. Children Properties, filter by Object Type, collection properties (count, casting as a specific type).

I think that the text editor is great in that it will be able to create any filter criteria, but the tree editor is still what the majority of users will use and is clearly the better way to visualize complex criteria so to add the suggestions to the new control would be of great benefit to the average user.

-Steve

24 August, 2010
Andrew (DevExpress)
Andrew (DevExpress)

Jascha,

Yes, the intellisence does support the property path. For example you will be able to type: 'Customer.' and the intellisence will give you the list of customer properties.

24 August, 2010
daniel weisel
daniel weisel

This is great DX, well done!

I really had some problems with the tree filter when I wanted to create very complex criteria (since I'm not a SQL guru), but this new control will definitely make it much easier to create those complex things!  :-)

25 August, 2010
Simon Smith
Simon Smith

It's great to see some development in this area. However, for me it will only be useful when child collections are included so a user can filter, for instance, where a child collection has a count of 1, or drill down into a child collection and it's properties, as per suggestions devexpress.com/.../S20272.aspx and devexpress.com/.../S31300.aspx which have been 'Planned' for some time now.

Have these been taken into consideration?

Simon

25 August, 2010
Martin Praxmarer - DevExpress MVP
Martin Praxmarer - DevExpress MVP

Waiting hard for an reply from DX like "Yes we can!" create any criteria operator!!

25 August, 2010
Andrew Watts
Andrew Watts

I hope this will allow the various nested grouped conditions to be easily modified.  One of the problems with the tree view was that you needed to have some forward sight as to what you were creating.  Creating complex conditions with nested AND or OR statements was a challenge.  I suggested a different approach with some additional features a while back ( www.devexpress.com/.../S134843.aspx )   but the editor might now offer this flexability.

25 August, 2010
Michael Proctor [DX-Squad]
Michael Proctor [DX-Squad]

Andrew,

Thanks for the update, this is definately a big big juicy thing for me for 10.2 for sure, I currently have a clunky user control that I use for custom filtering which my users don't like ;) hopefully this will fit in nicely.

25 August, 2010
Claus Bogner
Claus Bogner

Looks good. Any chance to see that for ASPxFilterControl in the near future?

25 August, 2010
James
James

I would really love to see this hook up to a linq to entities object and auto-populate the parameters and then allow this to link to an xtrareport and have the XtraReport actually support a linq to entities object with details that can be mapped to the details section etc. properly. It would be perfect because then we could handle ad-hoc reporting very easily and in a structured way against our entity set.

25 August, 2010
Mohsen Benkhellat
Mohsen Benkhellat

I hope it supports this suggestion S31009.

I have lots of use cases where a user needs to compare a property against another property (instead of a value) or even better aggregates.

Mohsen

25 August, 2010
Defacto Software
Defacto Software

Might be obvious but I have to ask: will it filter at the database level (modifying the where-clause) or will it filter the data at the client?

Anyway, especially for xtrareports this is highly appreciated .

Martin

25 August, 2010
Andrew (DevExpress)
Andrew (DevExpress)

Mohsen and all,

Basically it is allow to enter any text. Of couse the criteria:

'[EndDate] = [StartDate]' is not a problem at all.

25 August, 2010
John Botibol
John Botibol

Neal: Consider a "query" object in an application where you wish to select a cross section of customers for a campaign - requirement = 1 Filter Control

Ray: We have spent months modifying the FilterControl to support collections and aggregate functions, similar to Steve's suggestion. For any application which is even slightly CRM based, a powerful query language is essential. Whilst XPO shines here, the Reports and (hence) FilterControl are seriously deficient because a) you cannot create complex queries and b) you can't access any collection in a Report - I know this is another subject but it is strongly related.

Our modifications could easily have been achieved in two weeks or less by the DX team since they would not have had to rewrite so many classes either marked as Internal or with Internal members.

The ability to type a query using XPO syntax is not really much use to an end user whereas the FilterControl provides an excellent front end.

So, please, please address the capabilities of the control, ideally to handle any XPO criteria syntax.

26 August, 2010
Mohsen Benkhellat
Mohsen Benkhellat

Awesome, thanks

26 August, 2010
Franz Scharf
Franz Scharf

I already know what will happen: I use it with a grid, it works fine and it shows the column captions in the fields-dropdown, which are in German (translations of the underlying table column names, set in the grid designer). Then I want to use it as a standalone control;

I bind it to a table with column names in English > it will show the column names.. I try to set the column caption properties to field names in German.. no, it really shows the column names.. ok.. only chance.. I have to create a table with German column names and copy the data I want to filter to this table..

Somewhere I will have to loop through all English column names as text propterty of some controls.. I don’t find ‘LastName’ … ah I remember, I also have to look for ‘Last Name’ (another feature that makes me happy).

I know this, because I already implemented a MailMerge with a RichEdit about this way.. I also had to bind some controls in a DataLayoutControl to the same table as the MailMerge data source.. at design time.. where the table has English column names.. at runtime I again have to loop through all the BindingContexts tochange names and bindings, because at runtime the table has to have German column names.. sigh..

Great controls, but sometimes a little hard to handle for your ‘abroad’ customers.

That’s a reason why it’s hard for me to be excited about this control; because I already know.. even if it will filter everything just by thinking about it: It will be very hard to use it if you don’t think in English. :)

Why I’m sure? Because if you would implement some kind of a field mapping, why wouldn’t you have done that already in the RichEdit MailMerge which is a much more important and great feature of a much more important control.

hasta la vista,

Franz

(From the country of your Californian Terminator.. and I will visit you if you forget about us..:-))

8 September, 2010
Markus Landwehr
Markus Landwehr

From the pictures and the discription i thought it's possible to select propertys of child colleciton in the "tree"-view and that intellisens is supported in the editor. Can please someone with access to the 10.2 RC check this?

23 November, 2010
Hedi Guizani
Hedi Guizani

Was this control released and if yes where is it hidden?

Thanx

31 May, 2011

Please login or register to post comments.