1. Set up a RadGanttView with some data 2. Do not add any columns 3. Run the project and press the Left or Right Arrow key. An IndexOutOfRange exception will be thrown.
Steps to reproduce: 1. Add six items to a RadGanttView 2. Start reducing the height of the gantt view You will notice that the vertical scroll bar does not appear until two of the items are hidden. Before that the hidden items cannot be scrolled to.
To reproduce: add a RadGanttView and populate it with data. Use the GraphicalViewItemFormatting event in order to change the e.ItemElement.TaskElement.Text. However, the changes are not applied. Workaround: private void radGanttView1_GraphicalViewItemFormatting(object sender, GanttViewGraphicalViewItemFormattingEventArgs e) { e.ItemElement.Tag = "Custom text"; } public class CustomRadGanttView : RadGanttView { protected override RadGanttViewElement CreateGanttViewElement() { return new CustomRadGanttViewElement(); } public override string ThemeClassName { get { return typeof(RadGanttView).FullName; } } } public class CustomRadGanttViewElement : RadGanttViewElement { public CustomRadGanttViewElement() { } protected override Type ThemeEffectiveType { get { return typeof(RadGanttViewElement); } } protected override GanttViewGraphicalViewElement CreateGraphicalViewElement(RadGanttViewElement ganttView) { return new CustomGanttViewGraphicalViewElement(ganttView); } } public class CustomGanttViewGraphicalViewElement : GanttViewGraphicalViewElement { public CustomGanttViewGraphicalViewElement(RadGanttViewElement ganttView) : base(ganttView) { } protected override Type ThemeEffectiveType { get { return typeof(GanttViewGraphicalViewElement); } } protected override IVirtualizedElementProvider<GanttViewDataItem> CreateElementProvider() { return new CustomGanttViewVirtualizedElementProvider(this); } } public class CustomGanttViewVirtualizedElementProvider : GanttViewVirtualizedElementProvider { public CustomGanttViewVirtualizedElementProvider(GanttViewBaseViewElement owner) : base(owner) { } public override IVirtualizedElement<GanttViewDataItem> CreateElement(GanttViewDataItem data, object context) { IVirtualizedElement<GanttViewDataItem> taskElement = base.CreateElement(data, context) ; if (taskElement is GanttViewTaskItemElement) { FieldInfo fi = typeof(GanttViewVirtualizedElementProvider).GetField("owner", BindingFlags.NonPublic | BindingFlags.Instance); GanttViewBaseViewElement owner = fi.GetValue(this) as GanttViewBaseViewElement ; return new CustomGanttViewTaskItemElement(owner as GanttViewGraphicalViewElement); } return taskElement; } } public class CustomGanttViewTaskItemElement:GanttViewTaskItemElement { public CustomGanttViewTaskItemElement(GanttViewGraphicalViewElement owner) : base(owner) { } public override void Synchronize() { base.Synchronize(); if (this.Tag != null) { this.TaskElement.Text = this.Tag.ToString(); } } }
Steps to reproduce: 1. Add a gantt view to a form and add two buttons, one for adding a new child to the selected item and one for removing the selected item. 2. Run the project and add child items to a normal task item - the item should become a summary item. 3. Remove all the child items of a summary item - it should become a normal task.
To reproduce: Add a RadGanttView to a form and set its Dock to Fill. Increase the size of the form. Add 3-4 events to the RadGanttView and start the application. Reduce the size of the form until the gantt is small enough so scrollbars should show. You will notice that the vertical scrollbars will not show.
To reproduce: Bind to an object with a property of type double. Start the application and edit that same column. End the editing process and you will see an exception that decimal cannot be converted to double. Workaround: Create the following custom editor: public class MySpinEditor : GanttViewSpinEditor { public override object Value { get { object value = base.Value; return Convert.ChangeType(value, this.ValueType); } set { base.Value = value; } } } Subscribe to the EditorInitialized and EditorRequired events and use the following event handlers: void GanttViewElement_EditorInitialized(object sender, GanttViewItemEditorInitializedEventArgs e) { GanttViewSpinEditor spinEditor = e.Editor as GanttViewSpinEditor; if (spinEditor != null) { spinEditor.ValueType = typeof(double); } } void GanttViewElement_EditorRequired(object sender, GanttViewEditorRequiredEventArgs e) { if (e.EditorType == typeof(GanttViewSpinEditor)) { e.EditorType = typeof(MySpinEditor); } }
Add a gantt populated with some data. Increase column sizes in the text part on a way that an editor is outside the view Scroll to the editor and open it for edit Scroll back on a way that the editor is no longer into view => exception is thrown Workaround: radGanttView1.GanttViewElement.TextViewElement.ColumnScroller.Scrollbar.ValueChanged+=Scrollbar_ValueChanged; void Scrollbar_ValueChanged(object sender, EventArgs e) { radGanttView1.GanttViewElement.EndEdit(); }
When scrolling, the gantt final date for several tasks increases without any reason. If afterwards I select any task the incorrect final dates are corrected. But if I once again start to scroll, the problem shows up again.
To reproduce have a button with this handler: private void rbtnRemoveTasks_Click(object sender, EventArgs e) { if (ganttView.SelectedItem != null) { if (ganttView.SelectedItem.Parent != null)
Steps to reproduce: 1. Add a RadGanttView to a form. 2. Fill it with data. 3. Scroll up/down. Under some circumstances there is a chance that some of the items will have a wrong layout. After clicking anywhere on the graphical view the items will be placed properly.
If one applies a TypeConverter with standard values to a property, this type converter is not used to convert these standard values to and from string when they are displayed in a drop down list editor.
Steps to reproduce: 1. Add a gantt view to a form. 2. Bind it to a data source with 3000 items 3. Scroll the gantt view up and down. You will notice that the memory consumption by the project increases and the performance of the gantt view decreases.
To reproduce: Open QSF, go to GanttView, open the Settings example, go to the very last task and change the view mode to month. You will notice that the positions of the tasks are not being updated
To reproduce: Add a RadGanttView, add a single column and subscribe to the TextViewCellFormatting event. You will notice that the event is not being fired.
To reproduce: Add Tasks which appear far after the start of the timeline. You will notice that some of them are not displayed at the right position.
Open QSF, go to GanttView, open the First Look demo, click a date time cell in, click anywhere else, exception occurs.