Hello,
I trying to create a custom task field "Description" like in the documentation DOC, but binding RadGantt's Datasource simply in Page_Load event.
My Code:
public class CustomGanttTaskFactory : ITaskFactory{ Task ITaskFactory.CreateTask() { return new CustomTask(); }}public class CustomTask : Task{ public CustomTask() : base() { } public string Description { get { return (string)(ViewState["Description"] ?? ""); } set { ViewState["Description"] = value; } } protected override IDictionary<string, object> GetSerializationData() { var dict = base.GetSerializationData(); dict["Description"] = Description; return dict; } public override void LoadFromDictionary(System.Collections.IDictionary values) { base.LoadFromDictionary(values); Description = (string)values["Description"]; }}
Page_Load
List<ITask> newFinalTask = new List<ITask>(); newFinalTask.Add(new CustomTask { ID = 1, Description = "TEST1", OrderID = 1, ParentID = null, Title = "TITLE A", Start = new DateTime(2017, 01, 10, 0, 0, 0), End = new DateTime(2017, 01, 19, 23, 59, 59), PercentComplete = 0.20M, Expanded = false, Summary = true }); newFinalTask.Add(new CustomTask { ID = 2, Description = "TEST2", OrderID = 2, ParentID = 1, Title = "SUB A1", Start = new DateTime(2017, 01, 10, 0, 0, 0), End = new DateTime(2017, 01, 15, 23, 59, 59), PercentComplete = 0.20M, Expanded = false }); newFinalTask.Add(new CustomTask { ID = 3, Description = "AAAA", OrderID = 3, ParentID = 1, Title = "SUB A2", Start = new DateTime(2017, 01, 16, 0, 0, 0), End = new DateTime(2017, 01, 19, 23, 59, 59), PercentComplete = 0.20M, Expanded = false }); newFinalTask.Add(new CustomTask { ID = 4, Description = "BB", OrderID = 4, ParentID = null, Title = "TITLE B", Start = new DateTime(2017, 01, 20, 0, 0, 0), End = new DateTime(2017, 01, 31, 23, 59, 59), PercentComplete = 0.20M, Expanded = false, Summary = true }); newFinalTask.Add(new CustomTask { ID = 5, Description = "CCCC", OrderID = 5, ParentID = 4, Title = "SUB B1", Start = new DateTime(2017, 01, 20, 0, 0, 0), End = new DateTime(2017, 01, 31, 23, 59, 59), PercentComplete = 0.20M, Expanded = false });RadGantt1.DataSource = newFinalTask;
Desing
<telerik:RadGantt runat="server" ID="RadGantt1" Enabled="true" ReadOnly="True" AllowSorting="False" AutoGenerateColumns="false"> <DataBindings> <TasksDataBindings IdField="ID" TitleField="Title" StartField="Start" EndField="End" PercentCompleteField="PercentComplete" OrderIdField="OrderID" SummaryField="Summary" ParentIdField="ParentID" /> </DataBindings> <CustomTaskFields> <telerik:GanttCustomField PropertyName="Description" ClientPropertyName="description" Type="String"/> </CustomTaskFields> <Columns> <telerik:GanttBoundColumn DataField="ID" HeaderText="ID" AllowEdit="false" AllowSorting="false"></telerik:GanttBoundColumn> <telerik:GanttBoundColumn DataField="Description" HeaderText="Desc." DataType="String" UniqueName="Description"></telerik:GanttBoundColumn> <telerik:GanttBoundColumn DataField="Title" HeaderText="ACTIVITY" AllowEdit="false" AllowSorting="false"></telerik:GanttBoundColumn> <telerik:GanttBoundColumn DataField="Start" HeaderText="START" DataFormatString="dd/MM/yyyy" AllowEdit="false" AllowSorting="false"></telerik:GanttBoundColumn> <telerik:GanttBoundColumn DataField="End" HeaderText="END" DataFormatString="dd/MM/yyyy" AllowEdit="false" AllowSorting="false"></telerik:GanttBoundColumn> <telerik:GanttBoundColumn DataField="PercentComplete" HeaderText="% COMPLETED" AllowEdit="false" AllowSorting="false"></telerik:GanttBoundColumn> </Columns></telerik:RadGantt>
But displaying "undefined" in column "Description (Desc.)"
Someone help me with this please?
Thanks