Completed
Last Updated: 05 Aug 2015 11:35 by ADMIN
If one subscribes to the TimelineItemElementCreating and provides custom item elements for the timeline these elements are not used and default item elements are used instead.

WORKAROUND:

Create a custom element provider:

public class CustomGanttViewTimelineElementProvider : GanttViewTimelineElementProvider
{
    public CustomGanttViewTimelineElementProvider(GanttViewGraphicalViewElement owner)
        : base(owner)
        { }

    public override IVirtualizedElement<GanttViewTimelineDataItem> CreateElement(GanttViewTimelineDataItem data, object context)
        {
            GanttViewTimelineItemElement element = this.OnItemElementCreating(data);

            if (element != null)
            {
                return element;
            }

            return new GanttViewTimelineItemElement(data, this.Owner);
        }
}

and assign it to the timeline container element provider:

this.radGanttView1.GanttViewElement.GraphicalViewElement.TimelineContainer.ElementProvider = new CustomGanttViewTimelineElementProvider(this.radGanttView1.GanttViewElement.GraphicalViewElement);
Completed
Last Updated: 08 Aug 2013 07:50 by ADMIN
Open QSF, go to GanttView, open the First Look demo, click a date time cell in, click anywhere else, exception occurs.
Completed
Last Updated: 20 Oct 2014 11:59 by ADMIN
Description: Show context menu in RadGanttView (to enable adding, deleting tasks and setting progress) not only for the GraphicalViewElement, but also for the TextViewElement
Completed
Last Updated: 20 Feb 2014 15:07 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: GanttView
Type: Feature Request
0
Add functionality of GraphicalViewElement for ScrollTo(DateTime dt)
Completed
Last Updated: 11 Feb 2014 13:59 by ADMIN
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)
              
Completed
Last Updated: 29 Jul 2014 14:07 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: GanttView
Type: Bug Report
0
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.
Completed
Last Updated: 03 Sep 2014 07:51 by ADMIN
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();
        }
Completed
Last Updated: 14 Oct 2014 06:11 by ADMIN
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);
    }
}
Completed
Last Updated: 07 Oct 2014 15:03 by ADMIN
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.
Completed
Last Updated: 19 Mar 2014 07:28 by ADMIN
ADMIN
Created by: Georgi I. Georgiev
Comments: 1
Category: GanttView
Type: Feature Request
0
For example the HandleMouseMove event can not be overridden in order to allow dragging on the Y coordinate. Also some internal methods should be exposed.
Completed
Last Updated: 20 Mar 2014 07:52 by ADMIN
Add formatting or a painting event allowing customization of the links in the control
Completed
Last Updated: 13 Feb 2014 13:15 by ADMIN
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.
Completed
Last Updated: 06 Nov 2013 09:29 by ADMIN
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.
Completed
Last Updated: 25 Oct 2013 09:14 by ADMIN
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.
Completed
Last Updated: 01 Oct 2014 12:18 by ADMIN
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.
Completed
Last Updated: 20 Jan 2015 14:49 by ADMIN
To reproduce: 
 public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        this.radGanttView1.GanttViewElement.GraphicalViewElement.TimelineStart = new DateTime(2010, 10, 9);
        this.radGanttView1.GanttViewElement.GraphicalViewElement.TimelineEnd = new DateTime(2010, 12, 10);

        this.FillGanttViewWithData();
    }

    private void radGanttView1_SelectedItemChanged(object sender, GanttViewSelectedItemChangedEventArgs e)
    {
        var dateToFocus = e.Item.Start;
        this.radGanttView1.GanttViewElement.GraphicalViewElement.ScrollTo(dateToFocus);
    }

    private void FillGanttViewWithData()
    {
        //setup data items
        GanttViewDataItem item1 = new GanttViewDataItem();
        item1.Start = new DateTime(2010, 10, 10);
        item1.End = new DateTime(2010, 10, 15);
        item1.Progress = 30m;
        item1.Title = "Summary task.1. title";

        GanttViewDataItem subitem11 = new GanttViewDataItem();
        subitem11.Start = new DateTime(2010, 10, 10);
        subitem11.End = new DateTime(2010, 10, 12);
        subitem11.Progress = 10m;
        subitem11.Title = "Sub-task.1.1 title";

        GanttViewDataItem subitem12 = new GanttViewDataItem();
        subitem12.Start = new DateTime(2010, 10, 12);
        subitem12.End = new DateTime(2010, 10, 15);
        subitem12.Progress = 20m;
        subitem12.Title = "Sub-task.1.2 title";

        //add subitems
        item1.Items.Add(subitem11);
        item1.Items.Add(subitem12);

        this.radGanttView1.Items.Add(item1);

        GanttViewDataItem item2 = new GanttViewDataItem();
        item2.Start = new DateTime(2010, 10, 12);
        item2.End = new DateTime(2010, 10, 18);
        item2.Progress = 40m;
        item2.Title = "Summary task.2. title";

        GanttViewDataItem subitem21 = new GanttViewDataItem();
        subitem21.Start = new DateTime(2010, 10, 12);
        subitem21.End = new DateTime(2010, 10, 13);
        subitem21.Progress = 10m;
        subitem21.Title = "Sub-task.2.1 title";

        GanttViewDataItem subitem22 = new GanttViewDataItem();
        subitem22.Start = new DateTime(2010, 10, 13);
        subitem22.End = new DateTime(2010, 10, 18);
        subitem22.Progress = 30m;
        subitem22.Title = "Sub-task.2.2 title";

        GanttViewDataItem subitem23 = new GanttViewDataItem();
        subitem23.Start = new DateTime(2010, 10, 18);
        subitem23.End = new DateTime(2010, 10, 18);
        subitem23.Title = "Sub-task.2.3 title";

        //add subitems
        item2.Items.Add(subitem21);
        item2.Items.Add(subitem22);
        item2.Items.Add(subitem23);

        this.radGanttView1.Items.Add(item2);

        //add links between items
        GanttViewLinkDataItem link1 = new GanttViewLinkDataItem();
        link1.StartItem = subitem11;
        link1.EndItem = subitem12;
        link1.LinkType = TasksLinkType.FinishToStart;
        this.radGanttView1.Links.Add(link1);

        GanttViewLinkDataItem link2 = new GanttViewLinkDataItem();
        link2.StartItem = subitem21;
        link2.EndItem = subitem22;
        link2.LinkType = TasksLinkType.StartToStart;
        this.radGanttView1.Links.Add(link2);

        GanttViewLinkDataItem link3 = new GanttViewLinkDataItem();
        link3.StartItem = subitem22;
        link3.EndItem = subitem23;
        link3.LinkType = TasksLinkType.FinishToStart;
        this.radGanttView1.Links.Add(link3);

        GanttViewTextViewColumn titleColumn = new GanttViewTextViewColumn("Title");
        GanttViewTextViewColumn startColumn = new GanttViewTextViewColumn("Start");
        GanttViewTextViewColumn endColumn = new GanttViewTextViewColumn("End");

        this.radGanttView1.GanttViewElement.Columns.Add(titleColumn);
        this.radGanttView1.GanttViewElement.Columns.Add(startColumn);
        this.radGanttView1.GanttViewElement.Columns.Add(endColumn);
    }
}

Workaround: 
public class CustomGanttView : RadGanttView
{
    protected override RadGanttViewElement CreateGanttViewElement()
    {
        return new CustomGanttViewElement();
    }

    public override string ThemeClassName
    {
        get { return typeof(RadGanttView).FullName; }
    }
}

public class CustomGanttViewElement : RadGanttViewElement
{
    protected override GanttViewGraphicalViewElement CreateGraphicalViewElement(RadGanttViewElement ganttView)
    {
        return new CustomGanttViewGraphicalViewElement(this);
    }

    protected override Type ThemeEffectiveType
    {
        get { return typeof(RadGanttViewElement); }
    }
}

public class CustomGanttViewGraphicalViewElement : GanttViewGraphicalViewElement
{

    public CustomGanttViewGraphicalViewElement(RadGanttViewElement ganttView)
        : base(ganttView)
    { }

    protected override Type ThemeEffectiveType
    {
        get { return typeof(GanttViewGraphicalViewElement); }
    }

    public override bool ScrollTo(DateTime dateTime)
    {
        if (dateTime < this.TimelineBehavior.AdjustedTimelineStart || dateTime > this.TimelineBehavior.AdjustedTimelineEnd)
        {
            return false;
        }

        float halfViewWidth = (float)this.ViewElement.Size.Width / 2f;
        float x = (float)((dateTime - this.TimelineBehavior.AdjustedTimelineStart).TotalSeconds / this.OnePixelTime.TotalSeconds);
        x -= halfViewWidth;

        if (x < 0)
        {
            this.TimelineScroller.Scrollbar.Value = this.TimelineScroller.Scrollbar.Minimum;
        }
        else if (x > this.TimelineScroller.Scrollbar.Maximum)
        {
            this.TimelineScroller.Scrollbar.Value = this.TimelineScroller.Scrollbar.Maximum - this.TimelineScroller.Scrollbar.LargeChange;
        }
        else
        {
            this.TimelineScroller.Scrollbar.Value = (int)x;
        }

        return true;
    }
}
Completed
Last Updated: 30 Jan 2015 09:13 by ADMIN
To reproduce: 
1. Drag and drop RadGanttView
2. Add summary task with 3 sub tasks
3. Set the ReadOnly property to true
4. Run the form and try to move summary task. The user should not be able to move summary task or any other task when is in read only mode. 

Workaround: 
You can set the following properties: 
this.radGanttView1.ReadOnly = true;
this.radGanttView1.AllowSummaryEditing = false;
Completed
Last Updated: 13 Apr 2016 13:18 by ADMIN
To reproduce: 
1. Drag and drop RadGanttView on the form
2. Populate with tasks and set the ReadOnly property to true. 
3. Run the application and you will see that you can add links

Workaround: 
Disable adding of links:
void radGanttView2_LinkAdding(object sender, GanttViewLinkAddingEventArgs e)
{
    e.Cancel = true;
}
Completed
Last Updated: 09 Sep 2014 09:36 by ADMIN
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.
Completed
Last Updated: 15 Sep 2014 08:35 by ADMIN
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.