Completed
Last Updated: 07 Aug 2024 15:13 by ADMIN
Release 2024.3.806 (2024 Q3)
In this particular case, the RadScheduler is integrated with the RadGanttView. When the controls are loading there is a moment when the RadGanttView control is not fully loaded and its children elements are measured. In that case, DivideByZero exception will be thrown as the Children.Count of the RadGanttView is used in the size calculations. 
Unplanned
Last Updated: 21 Aug 2023 06:16 by ADMIN
Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022

Please refer to the attached sample project. After running it, the following error is observed:

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at Telerik.WinControls.UI.RadPictureBoxElement.UpdateParentControl()
   at Telerik.WinControls.UI.RadPictureBoxElement.OnParentChanged(RadElement previousParent)
   at Telerik.WinControls.RadElement.SetParent(RadElement parent)
   at Telerik.WinControls.RadElement.ChangeCollection(RadElement child, ItemsChangeOperation changeOperation)
   at Telerik.WinControls.RadElementCollection.OnInsertComplete(Int32 index, Object value)
   at System.Collections.CollectionBase.System.Collections.IList.Add(Object value)
   at Telerik.WinControls.RadElementCollection.Add(RadElement value)
   at _1574930GanttCustomDataItem.RadForm1.customGanttViewTextViewCellElement.CreateChildElements() in C:\Projects\1574930GanttCustomDataItem\1574930GanttCustomDataItem\RadForm1.vb:line 75
   at Telerik.WinControls.RadElement.CallCreateChildElements()
   at Telerik.WinControls.RadElement.Construct()
   at Telerik.WinControls.RadElement..ctor()
   at Telerik.WinControls.RadItem..ctor()
   at Telerik.WinControls.UI.GanttViewTextViewCellElement..ctor(GanttViewTextItemElement owner, GanttViewTextViewColumn column)
   at _1574930GanttCustomDataItem.RadForm1.customGanttViewTextViewCellElement..ctor(GanttViewTextItemElement owner, GanttViewTextViewColumn column) in C:\Projects\1574930GanttCustomDataItem\1574930GanttCustomDataItem\RadForm1.vb:line 59
   at _1574930GanttCustomDataItem.RadForm1.radGanttView1_DataCellElementCreating(Object sender, GanttViewDataCellElementCreatingEventArgs e) in C:\Projects\1574930GanttCustomDataItem\1574930GanttCustomDataItem\RadForm1.vb:line 51
   at Telerik.WinControls.UI.RadGanttViewElement.OnDataCellCreating(GanttViewDataCellElementCreatingEventArgs e)
   at Telerik.WinControls.UI.GanttViewTextViewCellElementProvider.CreateElement(GanttViewTextViewColumn data, Object context)
   at Telerik.WinControls.UI.BaseVirtualizedElementProvider`1.GetElement(T data, Object context)
   at Telerik.WinControls.UI.BaseVirtualizedContainer`1.UpdateElement(Int32 position, T data)
   at Telerik.WinControls.UI.BaseVirtualizedContainer`1.MeasureElements()
   at Telerik.WinControls.UI.BaseVirtualizedContainer`1.MeasureOverride(SizeF availableSize)
   at Telerik.WinControls.RadElement.MeasureCore(SizeF availableSize)
   at Telerik.WinControls.RadElement.Measure(SizeF availableSize)
   at Telerik.WinControls.UI.LightVisualElement.MeasureElements(SizeF availableSize, SizeF clientSize, Padding borderThickness)
   at Telerik.WinControls.UI.LightVisualElement.MeasureOverride(SizeF availableSize)
   at Telerik.WinControls.RadElement.MeasureCore(SizeF availableSize)
   at Telerik.WinControls.RadElement.Measure(SizeF availableSize)
   at Telerik.WinControls.UI.VirtualizedStackContainer`1.MeasureElementCore(RadElement element, SizeF availableSize)
   at Telerik.WinControls.UI.VirtualizedStackContainer`1.MeasureElement(IVirtualizedElement`1 element)
   at Telerik.WinControls.UI.BaseVirtualizedContainer`1.MeasureElements()
   at Telerik.WinControls.UI.BaseVirtualizedContainer`1.MeasureOverride(SizeF availableSize)
   at Telerik.WinControls.RadElement.MeasureCore(SizeF availableSize)
   at Telerik.WinControls.RadElement.Measure(SizeF availableSize)
   at Telerik.WinControls.UI.GanttViewTextViewElement.MeasureOverride(SizeF availableSize)
   at Telerik.WinControls.RadElement.MeasureCore(SizeF availableSize)
   at Telerik.WinControls.RadElement.Measure(SizeF availableSize)
   at Telerik.WinControls.UI.RadGanttViewElement.MeasureOverride(SizeF availableSize)
   at Telerik.WinControls.RadElement.MeasureCore(SizeF availableSize)
   at Telerik.WinControls.RadElement.Measure(SizeF availableSize)
   at Telerik.WinControls.RootRadElement.MeasureOverride(SizeF availableSize)
   at Telerik.WinControls.RootRadElement.MeasureCore(SizeF availableSize)
   at Telerik.WinControls.RadElement.Measure(SizeF availableSize)
   at Telerik.WinControls.RadElementTree.PerformInnerLayout(Boolean performMeasure, Int32 x, Int32 y, Int32 width, Int32 height)
   at Telerik.WinControls.RadControl.OnLoad(Size desiredSize)
   at Telerik.WinControls.RadControl.LoadElementTree(Size desiredSize)
   at Telerik.WinControls.RadControl.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at Telerik.WinControls.UI.RadFormControlBase.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************

Workaround: set the RadOictureBoxElement.PanelDisplayMode property to PictureBoxPanelDisplayMode.None.

Unplanned
Last Updated: 05 Nov 2021 06:53 by ADMIN

Please use the following code snippet:

 

    public partial class Form1 : Form
    {
        public class VM
        {
            public string Text
            {
                get; set;
            }
            public DateTime Start
            {
                get; set;
            }
            public DateTime End
            {
                get; set;
            }
        }

        public Form1()
        {
            InitializeComponent();

            var ViewModel = new VM[]
            {
                new VM()
                {
                    Text = "CrashTest",
                    Start = new DateTime(2021, 11, 3, 10, 0, 0),
                    End = new DateTime( 2021, 11, 3, 23, 0, 0 )  //crash
                    //End = new DateTime( 2021, 11, 3, 22, 0, 0 )  //No crash
                },
            };

            radGanttView1.GanttViewElement.GraphicalViewElement.OnePixelTime = new TimeSpan( 0, 1, 0 );
            radGanttView1.GanttViewElement.GraphicalViewElement.TimelineStart = ViewModel.Min( T => T.Start );
            radGanttView1.GanttViewElement.GraphicalViewElement.TimelineEnd = ViewModel.Max( T => T.End );
            radGanttView1.GanttViewElement.GraphicalViewElement.TimelineRange = TimeRange.Day;

            radGanttView1.GanttViewElement.ChildMember = "Text";
            radGanttView1.GanttViewElement.TitleMember = "Text";
            radGanttView1.GanttViewElement.StartMember = "Start";
            radGanttView1.GanttViewElement.EndMember = "End";

            radGanttView1.DataSource = ViewModel;
        }
    }

Currently, the possible solution that I can suggest is to increase the view's end with 1 hour:

  radGanttView1.GanttViewElement.GraphicalViewElement.TimelineEnd = ViewModel.Max( T => T.End.AddHours(1));

Unplanned
Last Updated: 17 Sep 2021 12:04 by ADMIN

Please refer to the attached gif file.

Steps :

1- Open a cell in edit mode (type Date).

2- Move the mouse outside this cell (without click)

3- Click on the arrow buton to open the calendar without focusing on the date cell (by the right).

5- The calendar does not open. (If we move the mouse over the date cell first, the calendar open fine) 
Unplanned
Last Updated: 15 Sep 2021 11:33 by ADMIN

Please use the following code snippet. Activate the editor for a cell and click another cell:

private DataSet weddingPlan;
public DataSet WeddingPlan {
    get 
    { 
        if(weddingPlan == null)
        {
            weddingPlan = new DataSet();
            using (StreamReader rdr = new StreamReader("TelerikWeddingPlanner.xml"))
            {
                weddingPlan.ReadXml(rdr);
            }
        }

        return weddingPlan;
    }
}

public Form1()
{
    InitializeComponent();

    // Events
    this.radGanttView1.GanttViewElement.EditorRequired += GanttViewElement_EditorRequired;
    this.radGanttView1.GanttViewElement.EditorInitialized += GanttViewElement_EditorInitialized;
    this.radGanttView1.GanttViewElement.ItemValidating += GanttViewElement_ItemValidating;
    this.radGanttView1.GanttViewElement.ItemValidated += GanttViewElement_ItemValidated;
    this.radGanttView1.GanttViewElement.ItemEdited += GanttViewElement_ItemEdited;
}

private void GanttViewElement_DoubleClick(object sender, EventArgs e)
{
    Debug.WriteLine("GanttViewElement_DoubleClick");
}

private void GanttViewElement_EditorRequired(object sender, GanttViewEditorRequiredEventArgs e)
{
    Debug.WriteLine("GanttViewElement_EditorRequired");
    
}

private void GanttViewElement_EditorInitialized(object sender, GanttViewItemEditorInitializedEventArgs e)
{
    Debug.WriteLine("GanttViewElement_EditorInitialized");
    
}

private void GanttViewElement_ItemValidated(object sender, GanttViewItemValidatedEventArgs e)
{
    Debug.WriteLine("GanttViewElement_ItemValidated");
    
}

private void GanttViewElement_ItemValidating(object sender, GanttViewItemValidatingEventArgs e)
{
    Debug.WriteLine("GanttViewElement_ItemValidating");
    Debug.WriteLine(e.Column.FieldName);
    e.Cancel = true;
}

private void GanttViewElement_ItemEdited(object sender, GanttViewItemEditedEventArgs e)
{
    Debug.WriteLine("GanttViewElement_ItemEdited");
    
}

private void Form1_Load(object sender, EventArgs e)
{
    this.radGanttView1.DataSource = WeddingPlan;


    this.radGanttView1.GanttViewElement.TaskDataMember = "Tasks";
    this.radGanttView1.GanttViewElement.ChildMember = "Id";
    this.radGanttView1.GanttViewElement.ParentMember = "ParentId";
    this.radGanttView1.GanttViewElement.TitleMember = "Title";
    this.radGanttView1.GanttViewElement.StartMember = "Start";
    this.radGanttView1.GanttViewElement.EndMember = "Finish";
    this.radGanttView1.GanttViewElement.ProgressMember = "Progress";
    this.radGanttView1.GanttViewElement.LinkDataMember = "Links";
    this.radGanttView1.GanttViewElement.LinkStartMember = "StartId";
    this.radGanttView1.GanttViewElement.LinkEndMember = "EndId";
    this.radGanttView1.GanttViewElement.LinkTypeMember = "LinkType";

    this.radGanttView1.GanttViewElement.Columns.Add(new GanttViewTextViewColumn("Id"));
    this.radGanttView1.GanttViewElement.Columns.Add(new GanttViewTextViewColumn("ParentId"));
    this.radGanttView1.GanttViewElement.Columns.Add(new GanttViewTextViewColumn("Title"));
    this.radGanttView1.GanttViewElement.Columns.Add(new GanttViewTextViewColumn("Start"));
    this.radGanttView1.GanttViewElement.Columns.Add(new GanttViewTextViewColumn("Finish"));

    this.radGanttView1.GanttViewElement.Columns[0].Visible = false;
    this.radGanttView1.GanttViewElement.Columns[1].Visible = false;
    this.radGanttView1.GanttViewElement.Columns[2].Width = 350;
    this.radGanttView1.GanttViewElement.Columns[3].Width = 120;
    this.radGanttView1.GanttViewElement.Columns[4].Width = 120;

    this.radGanttView1.GanttViewElement.GraphicalViewElement.TimelineRange = TimeRange.Month;
    this.radGanttView1.GanttViewElement.GraphicalViewElement.TimelineStart = new DateTime(2006, 8, 21);
    this.radGanttView1.GanttViewElement.GraphicalViewElement.TimelineEnd = new DateTime(2007, 4, 3);

}

private void radGanttView1_ItemChildIdNeeded(object sender, GanttViewItemChildIdNeededEventArgs e)
{
    int max = int.MinValue;
    foreach (DataRow row in (this.radGanttView1.DataSource as DataSet).Tables[0].Rows)
    {
        if (int.Parse(row[0].ToString()) > max)
        {
            max = int.Parse(row[0].ToString());
        }
    }
    e.ChildId = ++max;
}

Completed
Last Updated: 06 Oct 2021 08:30 by ADMIN
Release R3 2021 SP1
After resetting the data source a child link disappears.
Completed
Last Updated: 07 Feb 2020 10:00 by ADMIN
Release R1 2020 SP1 (LIB 2020.1.210)

I have integration radscheduler and radganttview.

Load data

Dim ds as new DataSource

Dim dvAppointments As New DataView

Dim appointmentMappingInfo As New AppointmentMappingInfo()
        Dim SchedSource As New SchedulerBindingDataSource()
        appointmentMappingInfo.Mappings.Add(New SchedulerMapping("Kontrahent", "pln_kntakronim"))
        appointmentMappingInfo.Start = "pln_start"
        appointmentMappingInfo.End = "pln_stop"
        appointmentMappingInfo.Location = "pln_nr"
        appointmentMappingInfo.ResourceId = "pln_zamgidnumer"
        appointmentMappingInfo.Description = "pln_opis"
        appointmentMappingInfo.Resources = ""
        appointmentMappingInfo.Location = "pln_nrzam"
        appointmentMappingInfo.Summary = "pln_twrkod"
        appointmentMappingInfo.StatusId = "pln_status"

        dvAppointments.Table = ds.Tables("PlanowanieTamborow")
        SchedSource.EventProvider.Mapping = appointmentMappingInfo

        bsPlanowanie.DataSource = dvAppointments  'BindingSource
        SchedSource.EventProvider.DataSource = bsPlanowanie
    
        RadScheduler1.DataSource = SchedSource

        RadGanttView1.DataProvider = New GanttViewIntegrationProvider(RadScheduler1)

refresh data

Dim reader As System.Data.SqlClient.SqlDataReader = comm.ExecuteReader

 ds.Tables("PlanowanieTamborow").Clear()
 ds.Tables("PlanowanieTamborow").Load(reader)
 ds.Tables("PlanowanieTamborow").AcceptChanges()

 ds.Tables("PlanowanieTamborow")

 

If I refresh the Radscheduler then RadGanttView doesn't refresh

Radscheduleris working properly

 

Completed
Last Updated: 14 Oct 2019 14:32 by ADMIN
Release R3 2019 SP1

Run the attached sample project and select the second page. You will notice that the tasks are missing. This used to work in R2 2019 (version 2019.2.508).

Workaround: Initialize the RadGanttView.BindingContext before adding it to the page:

        Dim Gantt As New RadGanttView
        Gantt.Dock = DockStyle.Fill
        Gantt.BindingContext = New BindingContext()
        RadPageViewPage2.Controls.Add(Gantt)

Completed
Last Updated: 03 Sep 2019 07:00 by ADMIN
Release R3 2019

Please use the following code snippet to setup the Gantt view:

Sub New()

                 


        InitializeComponent()

        Dim dt As New DataTable
        dt.Columns.Add("ID", GetType(Integer))
        dt.Columns.Add("Group_ID", GetType(Integer))
        dt.Columns.Add("Title", GetType(String))
        dt.Columns.Add("Start", GetType(DateTime))
        dt.Columns.Add("End", GetType(DateTime))

        dt.Rows.Add(-999, 0, "Root", New DateTime(2019, 8, 21), New DateTime(2019, 8, 30))
        dt.Rows.Add(6, -999, "Item 1", New DateTime(2019, 8, 21), New DateTime(2019, 8, 23))
        dt.Rows.Add(7, -999, "Item 2", New DateTime(2019, 8, 26), New DateTime(2019, 8, 30))
        dt.Rows.Add(1000, 6, "Sub1.1", New DateTime(2019, 8, 21), New DateTime(2019, 8, 22))
        dt.Rows.Add(1001, 6, "Sub1.2", New DateTime(2019, 8, 22), New DateTime(2019, 8, 23))
        dt.Rows.Add(1002, 6, "Sub1.3", New DateTime(2019, 8, 23), New DateTime(2019, 8, 23))
        dt.Rows.Add(1003, 7, "Sub2.1", New DateTime(2019, 8, 26), New DateTime(2019, 8, 29))



        Me.RadGanttView1.DataSource = dt
        Me.RadGanttView1.ChildMember = "ID"
        Me.RadGanttView1.ParentMember = "Group_ID"
        Me.RadGanttView1.TitleMember = "Title"
        Me.RadGanttView1.StartMember = "Start"
        Me.RadGanttView1.EndMember = "End"

        Me.RadGanttView1.Columns.Add("ID")
        Me.RadGanttView1.Columns.Add("Title")
        Me.RadGanttView1.GanttViewElement.GraphicalViewElement.TimelineStart = New DateTime(2019, 8, 20)
    End Sub 

However, if you switch the order of adding the rows, not all items will be visible in RadGanttView:

dt.Rows.Add(1000, 6, "Sub1.1", New DateTime(2019, 8, 21), New DateTime(2019, 8, 22))
        dt.Rows.Add(1001, 6, "Sub1.2", New DateTime(2019, 8, 22), New DateTime(2019, 8, 23))
        dt.Rows.Add(1002, 6, "Sub1.3", New DateTime(2019, 8, 23), New DateTime(2019, 8, 23))
        dt.Rows.Add(1003, 7, "Sub2.1", New DateTime(2019, 8, 26), New DateTime(2019, 8, 29))

        dt.Rows.Add(-999, 0, "Root", New DateTime(2019, 8, 21), New DateTime(2019, 8, 30))
        dt.Rows.Add(6, -999, "Item 1", New DateTime(2019, 8, 21), New DateTime(2019, 8, 23))
        dt.Rows.Add(7, -999, "Item 2", New DateTime(2019, 8, 26), New DateTime(2019, 8, 30))

Completed
Last Updated: 15 Aug 2019 13:54 by ADMIN
Release R3 2019 (LIB 2019.2.819)

Please run the attached sample project. Select one of the child tasks and click the button. The new task is expected to be inserted at the selected item's position. However, it is appended at the bottom as it is demonstrated in the gif file.

Workaround: rebind RadGanttView after inserting a new row to the DataTable: 

    Private Sub RadButton1_Click(sender As Object, e As EventArgs) Handles RadButton1.Click
        Try
            If Me.RadGanttView1.SelectedItem IsNot Nothing Then
                Dim i_rowIndex As Int32 = _dataset.Tables("Tasks").Rows.IndexOf(Me.RadGanttView1.SelectedItem.DataBoundItem.Row)
                Dim i_datarow As DataRow = _dataset.Tables("Tasks").NewRow
                Dim i_startDate As Date = New Date(Today.Year, Today.Month, Today.Day, 8, 0, 0)
                i_datarow("ID") = 3001
                i_datarow("ParentID") = _projektID
                i_datarow("Bezeichnung") = "inserted Aufgabe"
                i_datarow("Start") = i_startDate.AddHours(6 * 5)
                i_datarow("Ende") = i_startDate.AddHours(6 + 100)
                _dataset.Tables("Tasks").Rows.InsertAt(i_datarow, i_rowIndex)
                Me.RadGanttView1.DataSource = Nothing
                With Me.RadGanttView1.GanttViewElement
                    .TaskDataMember = "Tasks"
                    .ChildMember = "ID"
                    .ParentMember = "ParentID"
                    .TitleMember = "Bezeichnung"
                    .StartMember = "Start"
                    .EndMember = "Ende"
                End With
                Me.RadGanttView1.DataSource = _dataset
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

 

Completed
Last Updated: 20 Aug 2019 11:34 by ADMIN
Release R3 2019

Please refer to the attached sample project and run it. Select a random item and press the button. You will obtain the error. If no selection is available, the item is removed as expected. 

Workaround: use Begin/EndUpdate block while deleting a record from the DataTable:

        Me.RadGanttView1.BeginUpdate()
        _dataset.Tables("Tasks").Rows.RemoveAt(2)
        Me.RadGanttView1.EndUpdate()

Unplanned
Last Updated: 04 Jul 2019 06:16 by ADMIN
Created by: Frank
Comments: 0
Category: GanttView
Type: Feature Request
2
Add support for task interruptions
Completed
Last Updated: 01 Jul 2019 14:38 by ADMIN
Release R3 2019 (LIB 2019.2.708)

The latest release of WinForms causes a fatal exception when adding an item to a BindingList that is used in a RadGridView and a RadGanttView.

The first time an item is added there is not issue.

The second time an item is added, the following exception occurs.

System.NullReferenceException: Object reference not set to an instance of an object.
   at Telerik.WinControls.UI.GanttViewBindingProvider.GanttTaskList.IndexOf(Object key)
   at Telerik.WinControls.UI.GanttViewBindingProvider.GanttTaskList.get_Item(Object key)
   at Telerik.WinControls.UI.GanttViewBindingProvider.AddTaskByCM(CurrencyManager cm, Int32 index)
   at System.ComponentModel.ListChangedEventHandler.Invoke(Object sender, ListChangedEventArgs e)
   at System.Windows.Forms.CurrencyManager.OnListChanged(ListChangedEventArgs e)
   at System.Windows.Forms.CurrencyManager.List_ListChanged(Object sender, ListChangedEventArgs e)
   at System.ComponentModel.BindingList`1.OnListChanged(ListChangedEventArgs e)
   at System.ComponentModel.BindingList`1.FireListChanged(ListChangedType type, Int32 index)
   at MissileWarningThreatPlanner.EventWindow.EventList.GenMissileEventWorker_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e) in C:\Shape Source\VS\MissileWarningThreatPlanner - VS2010\MissileWarningThreatPlanner\EventWindow\EventList.cs:line 5329
   at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)

This is code that has not been modified for quite some time.  There has been no issue until the latest release.

I do not have time to try to create a simple example to try to reproduce the error at this time.  I will if possible.

For now, we are forced to revert to a previous version.

 

Ken...

Completed
Last Updated: 01 Jul 2019 14:52 by ADMIN
Release R3 2019 (LIB 2019.2.708)
Hello, 
I would like set timeline start at the same date like scheduler. 
But sometimes it don't refresh (see attachment).
What can I do?
kind regards
Frank
Completed
Last Updated: 17 Jun 2019 14:10 by ADMIN
Release R2 2019 SP1
Created by: Karsten
Comments: 3
Category: GanttView
Type: Bug Report
1

Hi,

why is the datatype of the ChildMember/ParentMember item limited to Int32? This is a problem when displaying tasks or events from tables with string or UUID idents. It would be a more flexible control if the type could be any type. Should not be a big deal to change this or is it?

Thank you und kind regards

Karsten

Unplanned
Last Updated: 20 Mar 2019 08:49 by ADMIN
Created by: Valeriane
Comments: 1
Category: GanttView
Type: Feature Request
2

Hey !

I need to know if you plan the development of a new function :

When you are in the list of your tasks, i want to navigate with the keyboard. 

Im' Here :

 

And when i navigate in the list with the keyboard, i need to see the last column on the same task :

The focus is good but the horizontal scrollBar is on the same place and we can't the the all value of the cell.

Can we plan the improvment ? Or do you have a clean solution?

 

If you need more informations,

don't hesitate to contact me

Regards,

ValĂ©riane 

 

Completed
Last Updated: 06 Feb 2019 12:38 by ADMIN
Created by: Valeriane
Comments: 4
Category: GanttView
Type: Bug Report
2

Hey,

 

We have a problem with the GanttViewTimeLineContainer as you see in the screeshot  : gantt_print2.png

When we are in TimeLineRange = TimeRange.Year and we print the gantt, we have a problem with the appearence of GanttViewTimeLineContainer, we can see the first line with the year (it's ok) but after, the second line we can see a reperition of all month : jfmamjjasond jfmamjjasond jfmamjjasond jfmamjjasond etc etc etc

Can we change the appearence ? Do you have an explanation for this visualization ? 

 

Thank you,

Regards,

Valériane E.

Completed
Last Updated: 23 Nov 2018 14:51 by Dimitar
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: GanttView
Type: Feature Request
2
When you edit a link, e.g. change its end item, there is no appropriate event to handle this situation. The Links.CollectionChanged event is not fired. It would be nice to have a LinkChanged event which will be fired when a link is modified similar to the ItemChanged event for the tasks.

Workaround:
            foreach (GanttViewLinkDataItem link in this.radGanttView1.Links)
            {
                link.PropertyChanged += link_PropertyChanged;
            }

        private void link_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "EndItem")
            {
            }
            
        }
Unplanned
Last Updated: 16 May 2019 05:08 by ADMIN
It would be useful if the control takes advantage of the RadSpreadProcessing, RadPdfProcessing and RadWordsProcessing. This will allow developers to easily export the control's contents to the desired format. 
1 2 3 4 5