Windows Forms 2020 Roadmap – Your Opinion Counts

WinForms Team Blog
09 December 2019
We are getting ready for 2020, and as such, have prepared a short list of WinForms-related features we expect to deliver in the upcoming year.
To help us deliver the best possible products/features in 2020, we ask that you review the following list and share your thoughts in the comments section below. Once we collect feedback from our user community, we’ll publish our official roadmap on DevExpress.com (early January 2020).
And don’t forget to check out the following blog posts for information on other DevExpress WinForms-specific products:

.NET Core Support (v20.1 and v20.2)

In 2020, we will switch from .NET Core version 3 to 3.1 LTS (Long Term Support). Microsoft released this version a few days ago.
You can expect multiple enhancements to our .NET Core product line throughout 2020 – including designer dialogs, wizards, and Template Gallery templates.
Additionally, we will move forward with .NET 5 support once the framework is released.

Appium Automated UI Test Support (v20.1)

We recently published a blog post regarding Appium and how it can be used to test DevExpress-based WinForms applications. We expect to fully test all DevExpress WinForms controls in the coming year and to officially announce Appium support for active WinForms subscribers.

WinForms Data Grid

Hovered state support (v20.1)

Our WinForms Data Grid will support the hovered state for data rows.

Kanban Board enhancements (v20.1)

As you may know, our Grid’s Tile View ships with Kanban Board mode. We will extend our Kanban Board with the following new features:

  • empty groups support;
  • multi-line group captions;
  • group captions formatted with HTML tags;
  • UI elements that allow users to quickly add new columns and cards at runtime.

New customization form (v20.2)

We expect to introduce a new customization form to our WinForms Data Grid control. This new form will improve usability when working with a large collection of columns and bands. We will also extend the capabilities of the form and include features such as checkbox-based multi-selection. 

Miscellaneous Enhancements (v20.1 and v20.2)

Though not exhaustive, the following list of minor features are also being considered for our 2020 roadmap: 

  • Mix conditional formatting colors with row appearance settings; 
  • Fix the checkbox selection column to either side of the control; 
  • Improve WYSIWYG and data-aware export; 
  • Conditional Formatting Rules Manager enhancements; 
  • Colorful search text highlight. 

Feel free to comment below if you have specific requirements or needs – we’ll certainly take your feedback into account. 

WinForms Gantt Control (v20.1 and v20.2)

As you may know, last month we released the first CTP of our stand-alone WinForms Gantt Control. We expect to officially release this product in 2020 and will include the following new features/capabilities: 

  • Runtime customization and Auto-scheduling support: the ability to automatically recalculate an entire process when one task change

  • Task Split support

  • Critical Path support

  • Embedded timeline with two display modes

New WinForms Step Progress Bar Control (v20.1)

This new control will help you better visualize linear processes. Each process step in your linear process will be drawn as a circle and the current step will be highlighted. Transitions between steps will include animation effects. 

WinForms Scheduler Control

Timeline View (v20.1)

Next year, we’ll shift development focus to our WinForms Timeline View. We hope to introduce resource pixel scrolling to this View. 

Flyout Customization (v20.2)

We hope to give you the ability to customize our Appointment Flyout as your needs dictate (for instance, give you the ability to incorporate custom fields). 

WinForms Data Editors (v20.1 and v20.2)

We expect to add two new WinForms data editors in 2020 - a highly requested editor that supports DateTimeOffset values, and a lookup editor that supports multiple item selection. 

lookup

WinForms Common Dialogs (v20.1 and v20.2)

We hope to extract common dialog logic into stand-alone behaviors. This will allow you to create your own file and folder managers. Additionally, we expect to implement a few user-requested features, such as the ability to filter file\folder\drive lists or add custom controls into dialogs. 

WinForms Diagram Control

List Item (v20.2)

We expect to introduce a new container item that arranges its child items within a list. End users will be able to add, remove, and reorder items as needed. 

diag1

Text Tool (v20.1)

This new tool will allow you to add labels to your diagram by clicking an empty region and entering the appropriate caption via the keyboard. 

diag2

Rendering Performance (v20.1)

The Diagram control will automatically adjust render quality on small zoom levels - significantly increasing performance for diagrams with 1000+ items or diagrams that contain complex SVG shapes. 

Data Binding - DataTable Support (v20.1)

Our Data Binding and Org Chart controllers use data bindings to link content of a generated item to data objects. The data binding engine that we use for the WinForms Diagram control does not support dynamic properties. Therefore, those of you who chose DataTable or DataSet as a source collection have to synchronize data between data objects and diagram items manually. To support DataTable, we will need to create a new data binding engine for the Diagram control. 

WinForms Pivot Grid (v20.2)

We expect to introduce a search panel to the Pivot Grid control. Users will be able to use this UI element to locate required records. 

Appearance and Skins (v20.1 and v20.2)

We hope to support DirectX and Acrylic effect in Overlay Screens, the BackstageView and popup menus.

Additionally, Splash Screens will be able to change colors based on current application skin. 

We also expect to move outdated raster skins into our Bonus Skins library.

Your Feedback Counts

Thank you for taking time out of your schedule to review our proposed 2020 roadmap. As mentioned previously, this is not an exhaustive list and if you have special requirements you’d like us to review, please feel free to comment below. We look forward to your feedback.

Showcase Your Apps on DevExpress.com

Highlight your business app and share your development experiences with the DevExpress community. To include your app in our upcoming App Showcase, please forward an application screenshot to clientservices@devexpress.com and tell us which DevExpress products you currently use within your organization.
71 comment(s)
_Vincent
_Vincent

Very very nice!


I hope to one day be able to use the diagram control with a large background image (4000 x 3000 px). I currently use my own written software to handle objects drawn on your picturedit control in directx modus however this does not have the same level of finesse as your controls do by default. I need to be able to draw shapes on a large image and move/size them at runtime with zoom support.

9 December 2019
Adam Lonsdale.
Adam Lonsdale.

Very excited for the Acrylic splash screens! Looks awesome.

As always, I have a big requirement for an annual / yearly view in the WinForms scheduler. 


9 December 2019
Phillip Brand
Phillip Brand
Regarding the Kanban Board Enhancements, will they finally include dynamic row heights for tiles?
9 December 2019
James Callahan
James Callahan
It would be great to have a little more speed in the Common File Dialogs. One other feature my users ask for is the auto-selection when keys are pressed (i.e. pressing 's' jumps to the first item that starts with an 's'). The improvements to the themes look great. We plan to migrate to .NET Core as soon as the WinForm designer is in good shape.
9 December 2019
Thorsten Sommer
Thorsten Sommer
Thank you for presenting this first roadmap. I am especially looking forward to full .NET core support and hope to get v19.2.5 this year. Other than that, I especially welcome the changes to the Diagram Control, the Step Progress Bar Control and the Gantt and Kanban additions. Thank you very much for your excellent work and the high quality!
9 December 2019
AshDev
AshDev
The more material designs shown in the Gannt control and acrylic splash screens look awesome! Looking forward to further .net core support.
9 December 2019
Sigurd Decroos _
Sigurd Decroos _
A background image for the diagram control would be awesome!
9 December 2019
Eaton Z.
Eaton Z.

Looking forward to the Step Progress Bar Control.

We hope to support DirectX and Acrylic effect in Overlay Screens, the BackstageView and popup menus.

Can you explain the benefits DirectX will bring to the WaitForm and PopupMenu? Those seem like relatively simple controls.

9 December 2019
Steven Vissers
Steven Vissers
what about a year view for the scheduler? waiting already soooo long...
9 December 2019
Christopher Jay
Christopher Jay
The Kanban improvements would be huge for us.  Some of its current limitations and lack of features are preventing us from migrating to this control from our current solution of dynamically-created GalleryControls with drag/drop between them.  I would LOVE to be able to move to the Kanban control and your teasers look like we would finally be able to do that.  Thanks for the great work.
9 December 2019
Joel Weiss - PC
Joel Weiss - PC
I second a vote for auto hight of the tiles in the Kanban layout
9 December 2019
Dmitry (DevExpress)
Dmitry (DevExpress)

@Eaton Z DirectX in Popup Menus will allow us to support the Acrylic Material and create menus that match the "Fluent Form + Acrylic Accordion Control" setup. As for Wait Forms, DirectX can be used for all sorts of eye candy, including smoother loading animations.

Although enhancements like these may seem as very minor and irrelevant, we feel that all three aspects of a product (functionality, performance, and visuals) are equally important.

10 December 2019
Hedi Guizani
Hedi Guizani

Workflows are a very important part of business application.

Since .net core didn't port Workflow foundation to .net core, You guys can use the diagram component as a workflow disigner (specialy that it is becoming more mature and multi plateform) and for the runtime the devolopers can use "Core WF" https://github.com/UiPath/corewf or any other workflow engine like (Workflow Core : https://github.com/danielgerlag/workflow-core, Elsa: https://elsa-workflows.github.io/elsa-core/ ....)

I know this is a complicated task but at least improving the diagram component so it can become a workflow designer will be a great move since such product don't exist on the market and from what I read there is a huge demand for it.

Thank you in advance. 

10 December 2019
Christopher Jay
Christopher Jay
Oh yeah, and I third-vote for auto-height of Kanban tiles, too.  :)
10 December 2019
GRCDev
GRCDev
For the text tool, it would be great if we could align the text (left, right, top, bottom, centered)
10 December 2019
Jerzy Rozmyslowicz
Jerzy Rozmyslowicz

WinForms Step Progress Bar Control

very nice
10 December 2019
Patrick Miller
Patrick Miller

I would love to see where you can position on image left of the text in gridview column header. Like it is in most controls you guys have. Right now its either near, center or far. If your column header text is centered and the column width is pretty wide, it just looks goofy with an image all the way to the left or right. If your text is set to near, then it's fine

I dunno if it's possible but thought I would just throw it out there.

Pat

10 December 2019
Stas (DevExpress Support)
Stas (DevExpress Support)
@James Callahan

We have plans to rewrite the internal architecture of our XtraDialogs while implementing these new features. This should influence the dialogs' performance in a positive way.

We will also consider implementing the feature you requested.



@Patrick Miller

You can already display an image before the column caption using HTML-inspired Text Formatting. So, you can build the column caption as follows:

GridColumn.Caption = "<image=...> Column Caption"

11 December 2019
Marcel Boom
Marcel Boom

what I would like to see (as I need it a lot, and is currently very difficult to implement well), is a good vertical header implementation of the gridview. With a 'good implementation' I mean that the gridview will show the headers vertically (or even better, slanted) while all the other stuff regarding the headers is horizontal. So the header vertical, but the grouped columns horizontal and the column chooser are horizontal.

This would make the gridview much more usable for data sources with a large number of columns. 

In my use case, I have over 200 columns with pretty large headers and the cells themselves are only check items.

11 December 2019
Black Star
Black Star
Do you have any plans for SyntaxEditor?
11 December 2019
Suter Sandro
Suter Sandro
Is there also a graphical option planned for the Gantt to add or delete dependencies?
Similar to Scheduler Control
11 December 2019
Del W
Del W
Looks great!
11 December 2019
Per Olsson
Per Olsson
What about Floating Action Burtons?
11 December 2019
Jack Tomlinson
Jack Tomlinson

I would like the ability add report-like objects to the Gridview Header and footer

I.E. the header section would be like the report designer where you could drag and drop DB columns and adjust the font etc.

That would allow a Gridview to viewed and printed as a nice looking report


thx

11 December 2019
TheGrunt
TheGrunt

I'd like the ShowOverlayForm to be wrapped better than having us to setup variables to check whether it's already been invoked - ie invoking via OnPaint is really ugly.
https://www.devexpress.com/Support/Center/Question/Details/T831386/showoverlayform-control-owner-s-handle

11 December 2019
Jim Lear
Jim Lear

I'd love to have a graphical tool for users to view and edit many-to-many relationships in a DB.

Something like this: https://www.webopedia.com/imagesvr_ce/3939/many_to_many_entity_relationship_diagram.jpg

where users could draw lines.

11 December 2019
Simon Woessner
Simon Woessner

We would love to see the SanKey diagrams from DevExtreme also for WinForms.


Best

Simon



11 December 2019
Peter Annandale
Peter Annandale
Looking forward to the additions to Scheduler, it would also be nice if a direct connect could be added to access Exchange/Outlook rather than having to add your own code to return calendar events from outlook/exchange.
11 December 2019
Sai Whiley
Sai Whiley

Looking good!

We are very excited for the gantt control and step progress bar - definitely a few places earmarked to take one of these

11 December 2019
Bitahwa Bindu
Bitahwa Bindu

The new splash screen looks really great. Can you support Listview control as well? I think this is long overdue.

I would also like to see if you can add an installer setup project template.

11 December 2019
David Green 4
David Green 4
My DevExpress WishList has only one new control.
It is a control that I could use right now in my software design.

The only control that you are really missing is a Network Node Graphing control.
Definable titlebar color Nodes with variable numbers of Input and Output connections, Text Labels on the connections, optional Image on each Node, and spline-based wiring between Node Connections, variable Zoom in and out on the Network Graph workspace.

For an idea of what I am referring to, see such software as Epic's Unreal Engine 4, it's Material Editor and Blueprint programming system (Google will give you lots of images of this).
Other Interface Libraries include this control, it would be great if DevExpress did as well.
Feel free to contact me if you would like additional information on it.
11 December 2019
Jerzy Rozmyslowicz
Jerzy Rozmyslowicz

My wish is to have pure  time edit - span control without date part and handle the time in string HH:MM:SS

Point Chart with rows and columns behavior and design similiar to the Grid.

Large Images for all Ribbon's items

Zooom an Track Bar controls with options to change track line height. Now on 4k monitors is rather difficult  to click on line without taking good aim

11 December 2019
Deepu Prabhakaran
Deepu Prabhakaran

Waiting for the lookup edit with multi selection.

It will be good if you add the following options 

*All column search when we enter the filter text with various filter options(Starts with, contains, equal to, etc)

* Option to automatic selection if there is only one exact match filter text item in the list(which will avoid an extra click)

If we export a grid control to excel, the group header values we placed by custom text is not exporting correctly to the exported Excel file. To achieve this we need to use some extra codes. It will be good if you include the custom changes.

11 December 2019
Daniel Haefliger
Daniel Haefliger

Top priority is printing the GanttControl. The workaround with the Image-Export or having a Gantt Diagram is there for way to long.



11 December 2019
Cornelis Versteegt
Cornelis Versteegt

We would like to have Sankey charts in WinForms.


Thanks.

11 December 2019
Mauro Pederzolli
Mauro Pederzolli
A syntax highlight text editor will be very appreciated !
11 December 2019
Peter Schwarz 1
Peter Schwarz 1

Extending the WinForms Gantt Control is a great idea.

The Scheduler Control will be integrated in our software. Any extensions are welcome.

The new WinForms Step Progress Bar sounds as something we are missing today.

And I would like to join MAuro Pederzolli: A syntax highlight text editor will be very appreciated.

 

Thanks

11 December 2019
JuWu
JuWu

Some simple but still missing features like

  • background color for LayoutControlItems 
  • simple icon buttons (current workaround with LabelControl (see T550713))
  • make the position of the expand/collapse button of accordion control customizable (e.g. bring to the very left)
11 December 2019
Ben Ernest-Jones
Ben Ernest-Jones
  • Applying AutoCorrectForeColor to more controls where text is displayed (especially LabelControl)
  • GridView's EmbeddedDetail mode enhancements (all of these available in non EmbeddedDetail mode):
    • horizontal scrolling
    • grid navigator
    • child detail view selection through indicator column
  • Ability to configure different color palettes for different forms using the same SVG skin
12 December 2019
Jacob Pedersen
Jacob Pedersen
RichTextControl/SnapControl. Support for table headers for tables spanning multiple pages. Such a huge missing feature and been requested for like 10 years now.
12 December 2019
RDTEX LLC
RDTEX LLC
We are interested in Pagination feature support in WinForm's Grid.
12 December 2019
Christian Unterweger Enghouse
Christian Unterweger Enghouse
My vote goes to the DateTimeOffset support 
12 December 2019
Mar c
Mar c
Things I would like to see:

-Allow switching Group Panel location and Find Panel location within the new combined panel. I prefer the Find Panel location on the left hand side, followed by the Group Panel location.

-Provide a MaxLength property for GridColumns so that it is not necessary to use tons of RepositoryItemEdits to set various different max lengths to different columns/fields.
12 December 2019
Thomas Kühne
Thomas Kühne
My vote goes to the DateTimeOffset support
12 December 2019
Eduardo Quintana
Eduardo Quintana

Thank you for presenting us this first roadmap and to allow us to give you some feedback.

I am especially looking forward to full .NET core support and the ability to design WinForms directly in the IDE. This will allow me to convert most of my WinForms projects to the new .Net Core environment.

I am also very excited about the proposed changes in the WinForm. I am fond of the new skinable splash screens and the new options for overlay screens. This will give a more modern appearance to my projects.

I would like to offer a suggestion about the splash screen. I use it in every project of mine and, in some cases, the splash screen locks while the program is initializing. I tried to debug it, but was unable to do so. I wold like to suggest that the splash screen is reviewed to warrant that it is really processed in a true background thread, which would not allow for stuck screens.

As a general improvement suggestion I would like to propose a reduction in the  real state taken by all controls (less chrome). This would make your product appearance more modern. I have already made this suggestion to you and I was told this would be in the next roadmap.  I hope so.

Good luck with the new enhancement to this already superb product.

Eduardo Quintana

12 December 2019
Fredy Wenger
Fredy Wenger

In difference to Devextreme, I'm very satisfied with DE winforms...

I use:
    SplashScreenManager1.ShowWaitForm()

To show progress (e.g, "The file are moved.... File <n> from <nn> - please wait..."
This has room for improvement.
If a text is too long, the text is simply cut.... 
The Waitform should be fully configurable (size, where to show, autolinebreak and so on.)...

If further would be nice, if there would be a out if the box function  to show progress...
My be you know the good old Visual Foxpro...? 

In VFP, there was a wait window "...some Text..." (wait / nowait / timeout) function that was ideal for such needs...
=> Maybe you are able to add such a function...?






12 December 2019
Alexander Rus (DevExpress Support)
Alexander Rus (DevExpress Support)

Thank you, guys, for sharing your feedback!

@_Vincent 

We will research if we will be able to speed up large image drawing in the context of improving overall rendering performance in DiagramControl.

@Sigurd Decroos _

You can already draw custom images in DiagramControl's background. For this, handle the CustomDrawBackground event. 

@Jim Lear  

DiagramShapes can be attached to multiple connectors, so it shouldn't be difficult to implement such a diagram. Feel free to create a ticket in our Support Center and we will be happy to provide you with additional details. 

12 December 2019
jerome crevecoeur
jerome crevecoeur

A new control : 

LookupEdit with multichoice and Filter element with contains option ! 


Actually, we have to create custom control to do that.

12 December 2019
Dusan Pupis
Dusan Pupis
+1 for syntax editor.
12 December 2019
Xavier Codina
Xavier Codina
+1 for kanban
12 December 2019
Agnieszka Skoropada
Agnieszka Skoropada
WinForms Gantt Control - what about predecessor types (FinishToStart, FinishToFinish, StartToStart)?
13 December 2019
Dmitry (DevExpress)
Dmitry (DevExpress)

Thank everyone for the huge interest you're showing in our controls, and for your feedback. I assure you that no comment will be left unnoticed - we thoroughly categorize and discuss all requests from you.


@Per Olsson - I'm not exactly sure which control did you mean, but a number of our controls support Context Buttons (for example, WinExplorer View). If by "floating action buttons" you mean something completely different, please contact our Support Center and describe your request in greater detail.


@Jack Tomlinson - again, I'm not sure what "report-like objects" mean. Did you try the ReportGenerator? If yes and it does not suit your needs, please create a separate Support Center ticket, our support engineers will be happy to help you.


@Deepu Prabhakaran - "If we export a grid control to excel, the group header values we placed by custom text is not exporting correctly to the exported Excel file". This sounds like a bug to me, custom text in group headers should be exported correctly. Did you contact our support on behalf of this issue?


@RDTEX LLC - Data Grid supports the Server Mode (synchronous or asynchronous), as well as the Instant Feedback mode. 


@Bitahwa Bindu - Did you try the WinExplorer View? It looks and behaves very similar to the standard ListView control (apart from the "Details" ListView mode - in this mode, the default Grid View is a better match).

13 December 2019
Black Star
Black Star

Hello

You have plans for SyntaxEditor in your WPF 2020 roadmap. What about WinForms SyntaxEditor for Reports.

13 December 2019
Derek Diamond
Derek Diamond
I like the diagrammer enhancements. I would like pictures to have a content property though so one can have images behaving fully like a normal diagram item
15 December 2019
Dmitry (DevExpress)
Dmitry (DevExpress)
@TheGrunt
You are absolutely right, the OnPaint approach works, but it isn't the most elegant solution. We will discuss it internally and see whether we can improve it.


@Fredy Wenger
> If a text is too long, the text is simply cut.
The WaitForm already supports this behavior. To enable it, set both the AutoHeight and AutoWidth properties of the ProgressPanel to **true**.

> If further would be nice, if there would be a out if the box function to show progress...
Would you please post a new ticket in our Support Center and describe it here? This way we could better understand your scenario and find the best possible solution.

@Eduardo Quintana
>the splash screen locks while the program is initializing
This should not be happening. Please submit a Support Center ticket and we will look into it. Thank you.

> I would like to propose a reduction in the real state taken by all controls
For data-intense applications, there is a "Compact UI" mode available. In this mode, DevExpress components have reduced margins and paddings, which allows you to display more data on-screen. To try this mode, go to the Project Settings Page or use the static WindowsFormsSettings.CompactUIMode property in code.
16 December 2019
Alexander Rus (DevExpress Support)
Alexander Rus (DevExpress Support)

@Derek Diamond

We will consider adding labels to diagram image items. In the meantime, you can use SVG shapes to create images with text. To specify the text location, use the Update method as demonstrated in the T455152 thread. Don't hesitate to create a ticket in case you face any difficulties with this task. 

16 December 2019
Gustavo Vigo
Gustavo Vigo

Gantt, excellent control .... Congratulations.

Please, by 2020 - 1, include as a priority, the ability to automatically recalculate a complete process when a task changes, Task division support and critical path.

Congratulations again, they are a great team !!! 

16 December 2019
Davide M
Davide M

Thank you DevExpress for all these continuous improvements.

As dealing with high-resolution monitors will become ever more important for us, we'd like better compliancy with SVG throughout all DevX winform controls (bars and toolbars) including DevX XtraGauges.


17 December 2019
Dmitry (DevExpress)
Dmitry (DevExpress)

@Davide M

In XtraGauges, I presume that you mean the image indicator. This element does not currently resize on higher DPI monitors indeed, but we are aware of this limitation and will fix it in future updates.

As for toolbars, they were among the first DevExpress components that supported SVG icons. Are we missing something, did you find a problematic scenario? If yes, please report it to our Support Center, we'll make sure to investigate your inquiry and eliminate any issues.

17 December 2019
Jonathan Reis 1
Jonathan Reis 1
Hello Dmitry, I have always wanted to use the WinExplorer component in our product, but because it is missing a "Details" view, I haven't. It looks like a really nice component, but because of the lack of the the addition view (the one people use the most I think), I have stayed away from it. How about adding it?  
17 December 2019
Dmitry (DevExpress)
Dmitry (DevExpress)

@Jonathan Reis 1

Hi, thank you for the feedback. If you inspect our XtraOpenFileDialog, you'll notice there is the "Details" style available. Every other dialog display mode you choose is a WinExplorer View style, but when you click "Details" the Grid switches to the GridView that has no column limit and as such, can display as many data columns as you need (size, date created, date modified, rating, etc.).

Of course, you will have to slightly adjust the GridView so that it looks more like Windows Explorer, for instance:

  • hide vertical and horizontal lines;
  • hide the group panel and disable the "Group by this column" menu option;
  • custom draw group headers;
  • etc.

But in the end, the existing Data Grid functionality does allow you to create this "Details" style, even though it's not among available WinExplorer style options. Can you please clarify whether this approach suits your needs?

17 December 2019
Jonathan Reis 1
Jonathan Reis 1

Thank you for the response Dmitry.  I had a look at the XtraOpenFileDialog  and I do like the way it looks and functions. It would be great if that same Details view were available in the WinExplorer control.

If I understand you correctly I should follow the same pattern that was used to build the XtraOpenFileDialog and show a GridView when the user selects the "Details" view. Is that correct? If so, I will take a look at how that was done to see if it is relatively straightforward to do.

My thought for you is that the WinExplorer control is so close to being a drop in component that can be used to provide shell type functionality to an application but it has a missing feature. I thinking adding this feature would make this control more useful to your user base without each having to mess around with trying to implement missing functionality. Just my 2 cents.

17 December 2019
Anders Wang
Anders Wang
text wrapping by hieroglyphs for richedit control. Which hase been rquested 8 years(Q420021).
19 December 2019
Vincent Bivona
Vincent Bivona

Hi Dmitry. About using a GridView for details in WinExplorerView.

I find that GridView is very excellent and more than capable of handling everything that's needed. Thanks very much for that.

For me, the real difficulty is not knowing the best way to keep these views in sync (filter, search, sorting, grouping, focused row, selection, etc.) and also provide a consistent keyboard interface.

Also, to duplicate the Windows Explorer interface, searching, sorting and grouping need to be done in the ribbon (menus, galleries, etc.) or using other controls outside the GridView. This enables someone to search, sort and group without switching to details view and using the GridView panels.

It's a little challenging for me (I've just started using your controls) but doable.

If you don't want to include a details view with WinExplorerView, maybe someone could write an article explaining everything we need to do so, when users switch view styles, everything is in sync and consistent. If someone is open to doing that, the article may want to consider the whole solution: Using TreeList, GridControl and BreadCrumbEdit to provide a Windows Explorer interface. That would make the job go much more quickly.

Regardless, thanks very much for creating such excellent products.


19 December 2019
Marcus Gardner
Marcus Gardner

Thanks to everyone at Devexpress.

I really appreciate your support and the ease of finding information for myself in the knowledge base and forum.

Keep up the great work, have a Merry Christmas and a happy New Year

19 December 2019
Dmitry (DevExpress)
Dmitry (DevExpress)

@ Jonathan Reis, Vincent Bivona

Thank you for the detailed answers guys. We appreciate your feedback as it gives us an extremely valueable insight into how real customers perceive our products, and why their product vision sometimes differs from our own.

At the time WinExplorer View was created, we didn't add the "Details" style because it would have replicated the GridView almost entirely. The idea was that if anyone missed that style, they could've implemented it manually. However, reading your comments I do agree that this decision has certain flaws: it's not obvious to newcomers, it requires writing custom code, and at a first glance it seems like a missing feature. We already had several internal discussions regarding this matter, and to find the best possible solution, we need to know more about your use cases.

Could you please clarify what exactly are you making with WinExplorer View, a file explorer? Also, what approach do you find more appealing and useful: an out-of-the-box "Details" style that very closely resembles the Windows Explorer style but is limited in terms of customization, or a GridView-based style that requires some fine-tuning, but comes with all GridView features and as such, allows you to implement a behavior missing from Microsoft Windows Explorer? Depending on your needs, the best solution may vary: a new pre-defined WinExplorer style, a Behavior that encapsulates XtraDialogs logic and allows you to create Explorer-like User Controls, a detailed example\demo with a step-by-step tutorial, etc.

20 December 2019
Dmitry (DevExpress)
Dmitry (DevExpress)
Marcus, thank you, happy holidays to you and yours :)
20 December 2019
Jonathan Reis 1
Jonathan Reis 1

Hi Dmitry, thank you for considering this feature. Here are the ways I would like to use it in our product.

1) Advanced File Picker - Our customers need to open files and at the same time determine the format/framing of the file contents. So a preview to the right of the File Explorer view, with some controls () for setting options on how the file will be handled when it is opened. Currently our users have to perform a 2 step process.


2) Added to (1) we have search tools scanning and finding files and displaying a flattened list of files that the user can select. For this, I think being able to customize the view would be great. Like adding selection checkboxes to each row. I would like to have a single custom File Explorer for our users general requirements around finding and opening files.



3) We have a general file tool that handles Local File/FTP/SFTP/SFTP. It would be great to replace the UI of this tool with a new Explorer View. See below.



So to answer your question, the only customization I would need on the grid is checkboxes (but could get away with just multi-select no problem), so I think I could get away with just a standard, less customizable, Details views. That being said, others might want more that this...

Thanks again Dmitry for listening and Happy Holidays to you and yours.


Jonathan

 

20 December 2019
Vincent Bivona
Vincent Bivona
@Dmitry

I'm working on an app to organize media files (pictures, music & videos). Everything is being stored in a database using XPO.

In my app I'm using the Windows Explorer style interface for general browsing. To do this, I'm writing my code with interfaces, somewhat like the Windows ShellFolder interfaces (IShellFolder, IShellItem, etc.). In other words, the browser doesn't really know what's in the folders listed in the tree view, it just manages the different folder views.

Each shell folder returns a collection of items that are displayed in the different grid views. Each item in the collection has 3 common columns that correspond to WinExplorerView columns. That folder will also add it's own additional columns to a GridView (details). There's a number of different folder types: Movies, Pictures, Music, People (actors, directors, artists, etc.), Categories (hierarchical keywords) all with different details.

The GridControl, with it's many views, is quite able to handle this. The only potential problem here is learning how to sync the views (sorting, grouping, filtering, selection, etc.) and also provide a consistent user interface for sorting, grouping, filtering, selection and searching (including incremental keyboard search) that behaves like something most users are familiar with: Windows Explorer.

With Google's help, I've been able to find a lot of support requests which explain how to do most of these things. The only advantage I see to having a details view associated with WinExplorerView is that the syncing and behavior issues may be implemented better by DevExpress (without side effects).

What I mean is that handling events and setting properties can sometimes cause recursive situations. I find it best to remove event handlers before I change anything, then add them back when I'm done. (This is more of a problem with ribbon and some menu items. Some items raise events when you set their checked property, some don't).

Keep in mind, this is a very big black box to me. I have no idea as to the things I'm setting in motion when I set some of these properties. Although this works for me today, if the GridControl is changed in a future release, side effects (or breaking changes) may appear at that time.

I don't mind writing this code at all. I just want to write it correctly so I don't break anything and also maintain compatibility with future Windows Forms releases.

Sometime late next month I may submit a support request. I'd list everything I needed to do in order to keep these views in sync and ask that someone to check that I've done it correctly (in a "best practices" way).
Also, if others search and find this request, they will at least have a list of things that need to be done when implementing a Windows Explorer type interface.

Thanks for listening. Have a great holiday.

Vincent
21 December 2019
Dmitry (DevExpress)
Dmitry (DevExpress)

Now we're talking :) Huge thanks for all those details you've shared about why you need "Details" (no pun intended). Your comments are extremely useful.

Vincent - yes, sure, feel free to submit a ticket and our support engineers will be happy to verify your solution.

Happy Holidays!

23 December 2019
Thunis Kruger
Thunis Kruger

Another very useful feature I would like to see is Layers for Diagrams. it gives the Diagram Control so much more power to be able to set properties to layers.

Ticket: T569943
 

Thanks for listening.

Thunis

7 January 2020

Please login or register to post comments.