WPF Gantt Control – Your Feedback is Needed

Disclaimer

The specifications/features outlined in this blog post are subject to change.

Our WPF team has begun work on a WPF Gantt component. To make certain the product we deliver addresses your business needs, we thought it important to share its capabilities with you and to solicit your feedback. Our objective is to create the best possible product – with your help, we expect to ship a CTP by year end and officially release the product in the first half of 2019.

Core Functionality

The DevExpress Gantt Control will consist of a Tree List (hierarchical grid with columns) on the left and the Gantt region on the right:

Gantt Preview

This layout will be familiar to those of you using Microsoft Project. Though similar from a UI perspective, our intent is not to blindly replicate Microsoft Project. If Microsoft ships a feature, it does not mean we will incorporate like functionality in our Gantt Control.  

Gantt Area

The Gantt area will be able to display Tasks, Summary Tasks, and Milestones.

Task Types

All these elements will include predefined appearance settings (based upon the currently selected theme) that will be customizable with styles and templates. You will also be able to define a template for the content displayed next to a task.

The Gantt area will reuse visual elements (UI Virtualization) and will be able to handle 10000 tasks without performance issues.

Time Scale

You will be able to modify zoom factors - displaying tasks within a specific date range.

The time scale will also be customizable. You will be able to display/hide weekends, highlight holidays and special dates (Strip Lines).

Task Progress

Every task will include a progress value. This will be displayed as a progress bar within the Gantt area.

Task Progress

Task Predecessors

Each task will have one or more of the following predecessor types: SS, SF, FS, FF (see https://en.wikipedia.org/wiki/Dependency_(project_management) for more information). Tasks will be connected to their predecessors visually within the Gantt area.

Task Predecessors

Resources

You will be able to assign one or more resources to a task. Resource names will be displayed next to tasks in the Gantt area.

Tree List Area

The Tree List will be customizable. You will be able to modify settings, add new columns, or customize existing options.

Data Binding

The DevExpress Gantt Control will be a data aware control – it will not have its own item collection. You will be able to assign your data objects to the ItemsSource collection and specify mappings to bind task properties (StartDate, EndDate, etc.) to your data source fields.

To define the task hierarchy, you will be able to use mappings (Id and ParentId for flat sources and Children for hierarchical sources) or return children in code.

We will also provide built-in data objects (GanttTask, GanttResource, GanttPredecessor) for those who do not already have types for Gantt elements. If you assign a collection for these objects to the ItemsSource property, you will not need to specify mappings.

The Gantt Control will listen to changes in bound objects and update its state accordingly.

Editing

We will start with a read-only Gantt and work on editing once the UI/presentation is complete. You will always be able to manually edit a task via a dialog.

Undo/Redo

We will not provide global Undo/Redo functionality. This would introduce a degree of complexity and a set of restrictions (both during development and for end-users) we wish to avoid at this stage.  

Once we support editing in the Tree List, you will be able to cancel your changes before navigating away from the edited task.

Validation

We will consider validation (displaying errors for overlapping dates, busy resources, etc.) when we support editing.

Automatic Scheduling

When we support editing, we will also implement automatic scheduling for tasks – calculating StartDate/EndDate/Duration based on partially specified properties and defined Predecessors.

Automatic Scheduling

Import/Export

Since the Gantt control will work with external data, it will not feature built-in import/export to/from XML. However, it will be easy to manually parse an XML file from Microsoft Project and create task objects (since our Gantt Control uses similar terminology). It’s likely that we will create an example or a helper class for this feature.

Scheduler Integration

The Gantt Control will not use Scheduler objects and vice versa. However, since both controls can be bound to data, you will be able to display your objects in both the Gantt and the Scheduler.

Printing and Export

It will be possible to export and print the Tree List area of the Gantt control. We will not introduce printing functionality for the Gantt area until its UI/presentation and data editing functionality are complete.

Other Features

We consider these features less important, optional, or easy to implement on the client side. We will not be focused on these during our initial development phase.

  • Built-in task edit form
  • Built-in Ribbon
  • Constraints for automatic scheduling
  • Baseline
  • Resource view (displaying multiple tasks in a single row)
  • Timeline
  • Recurring Tasks

Your Feedback is Important

As mentioned at the beginning of this blog post, DevExpress wants and needs your feedback. If you’re interested in a WPF Gantt control or have used one in the past, please take a moment to comment here or write to us at support@devexpress.com. We want to know more about your business needs, use cases and how you would benefit from a product like this in a production environment.

A note to our WinForms users

If you’re using WinForms and are wondering if we have similar plans for the WinForms platform, the answer is yes. Our decision to pursue this product for WinForms is predicated upon the feedback we receive from WPF users.

Tags
30 comment(s)

Would love to see and use this, however I am a W informs user...

As I am currently working on a project that could really use this control, I would love to hear an estimated release date...

2 July, 2018

HI Marcel - no release date for WinForms at this point. At this stage, we are trying to understand market needs. We'll certainly note that you are interested in such a tool, but it would be unfair to you if I gave you false hope and empty promises. We've not yet begun work on a WinForms version of a Gantt.

2 July, 2018

Great!

2 July, 2018

Hi Devexpress team! Great to see that you listen to your customers and their needs. Some of us work with real-world scenarios in different types of enterprises. I have even made post how I was disappointed that DX suite didn't had Gantt or Kanban board.

These two control are essential in many enterprise scenarios, but some of most importance:

1. Project and project stages

2. Worktasks

3. Production scheduling

I see that you only use days as Duration, but also hours can be used in Projects/Worktasks and minutes in Production scheduling.

Zoom in/out is also good feature, to see bigger picture of your project status if you have complex project.

If critical path could be calculated or just colored diffrently, that would be nice.

www.youtube.com/watch

Coloring diffrent by Resources or Task Name can be crucial to differentiate in complex environments like production.

i.ytimg.com/.../maxresdefault.jpg

Hope that you continue to listen to your customers, and deliver in same way.

I know that not of all of this can be in Gantt control, just wanted to give you more info what can happen, and what to expect, when expecting Gantt control. :)

--------------------------------------

Hope that next year we have same blog post about Kanban board. :)

2 July, 2018

I need Winform Gantt Control. Now my project shoud call MS Project and export data.

2 July, 2018

Great for WPF Gantt impovements!

Milestones are very useful. Will be nice if we can see improvements in WinForms too .

Thanks

3 July, 2018

Hi Devepress team!

An interesting features to implement can be the possibility to view task the "programmed time" and the "real time" of a task. when they are the same do nothing but when they are different display the programmed as a trasparent task with dotted border.

3 July, 2018

Looks excellent but wake me up when the winforms version is in sight.

3 July, 2018

This is great news. Important features for us:

1. Critical path calculation and display.

2. Durations in days, hours, etc.

3. Lag (positive or negative) in dependencies.

4. Baseline dates (this is really important for real-world use, for comparison between baseline, actual progress and projected).

Thanks

3 July, 2018

Really look amazing in WPF, but waiting for ASP.NET.

Is there any plan for ASP.Net

Thanks

Basit.

3 July, 2018

Ability to have different views (grouping) of TreeList.

Needed this yesterday!

3 July, 2018

We are using DevExpress components for all our UI needs but for Gantt we are using another third party.

It is good to know Gantt component is coming :)...please share tentative release dates.

3 July, 2018

I do not use WPF, but would like to have this in a Winforms version.

3 July, 2018

I'm waiting for this control in WPF. Currently I have to use another product.

3 July, 2018

Great news, I need Winforms version asap for project planning.

4 July, 2018

excellent! (now we used ilog gantt and netronic gantt)

for us are important:

1) server mode (100K+ data)

2) resources Gantt for MES (example croakun.com/.../ManufacturingGantt)

3) cyclic task

4) HTML5 Gantt

4 July, 2018

I asked DevExpress to build this for WinForms years ago. So they build it for WPF :-(

I’m sure there are WPF developers out there, but correct me if I’m wrong but isn’t there far more WinForms projects and developers in the real world than WPF.

I’m using a competitor’s product until they release this for WinForms which I hope is soon.

8 July, 2018

Hey Experts :)

I was happy like a little kid when I read this post.

I would like to use the Gantt to visualize production planning.

These should be resource-related and able to react very quickly to changes in production. Order nets should also be mappable - An order has several followers and these followers lead back to a single order. Also important would be the visualization of delays. I would like to be able to define the colors of the visualization myself. Best about binding.

I would also offer myself as a tester, data for different scenarios are available.

Thx

Frank

10 July, 2018

great news. currently we user telerik gantt. hopefully we can test a demo soon!

11 July, 2018

I haven't used gantt extensively, but what would make this more useful for us is the ability to set working days and have the calculations consider those when laying out the chart based on duration. We have some projects where staff only work on it 3 days a week, others are 5 days. That's maybe already described in here somewhere, but I'd be interested in using a control like this.

11 July, 2018

For my development purposes, my customers are web based customers. Thus we now have to use an interactive HTML5 Gantt widget from another vendor.  

Dev Express developers and architects may find it helpful to look at how this HTML5 Gantt is implemented and all the features it supports.  I'd love to see a version of the HTML5 Gantt in Dev Express rather than working with a third tools vendor on this.

dhtmlx.com/.../large-scale-update-dhtmlxgantt-version-5-0

11 July, 2018

It is nice to see that finally 6 years after my request (Q24541), there is a further development in Gannt-View. A WinForms version would have been good yesterday. Now we need an HTML5 Gantt.

11 July, 2018

I need Gantt Control for Webform. Diagram Control as well.

Because of these two controls I am thinking to go telerik or syncfusion.

Please move faster !

12 July, 2018

Dear colleagues,

I need a WinForms version of Gantt Control for project planning.

The WinForms version will be very useful for the development of our system.

It is very important and interesting to have:

- The opportunity to join to the task many and different TYPES of resources - for example people, machines and materials. Please, see NETRONIC control.

- Different view, according to the types of resources. Please, see NETRONIC control.

- Orders and assigned task. Please, see NETRONIC control.

- Critical path calculation and display

- Cyclic task

12 July, 2018

+1 for a WinForms version of it. We are looking for a Gantt control to replace our current one (the supplier went out of business). You had a gantt control in your roadmap some years ago, but now it looks much more "real". Would be a great component for us!!

13 July, 2018

The possibility of adding pluggable scheduling algorithms. We implemented a scheduling logic with lots of edge cases ourselves and it would be important that no built-in logic interferes with it.

16 July, 2018

Nice to see a Gantt component coming from you!

Since almost every control we use in our projects is a DevExpress control we are really looking forward that you fill one of the biggest gaps in your portfolio (from our point of view). I have had several customers requesting a Gantt, so this is an incomplete list of items a Gantt control needs to have so I can use it in the software I develop.

- Resource View with more than one task in a row (already mentioned by you, but switching to it should be as easy as possible)

- Theming support

- Customizable appearance of Tasks (Custom templates):

o Height/Border/Colors

o Show texts on the tasks (sometimes more than one row)

o Show icons on the tasks

o Tooltips for the tasks

o Splitting a task in different compartments to indicate different parts of the task. For example: setup of the task, actual task, tear down.

o Easy hiding of the task connectors

- Simple presentation of overlapping tasks (e.g. double the size of the row show both).

- Timeline

o Timeline Zooming  

o Timeline scaling (minutes, hours, days, months, … )

o Format appearance of timeline values

- Customizable appearance of the TreeView:

o Grouping (switching between different types of grouping would be really cool)

o Customize appearance of cells in the treeview (background, foreground, size, display more than one text in a cell)

o Sorting, hiding of columns

As I already said, I am really looking forward to discovering what the Gantt control can do.

Best Regards

Ingmar

17 July, 2018

I expect to use WPF Gantt Control, thanks.

On the left Tree List, more levels of subactivities will be possible or only one level?

23 July, 2018

Stefano,

Gantt Control will be based on TreeListControl. Therefore, there will be no limitations to the nesting level.

25 July, 2018

We have a lot of interest in such a control but for WinForms AND HTML5.  

18 September, 2018

Please login or register to post comments.