This is a migrated thread and some comments may be shown as answers.

RadGantt - Task UI Updates not reflecting in the database via SqlDataSource binding.

1 Answer 103 Views
Gantt
This is a migrated thread and some comments may be shown as answers.
Alfred
Top achievements
Rank 1
Alfred asked on 22 Jan 2017, 12:24 PM

Hi,

I managed to get RadGantt tasks inserts and deletes working fine. But for some strange reason 
UI changes(e.g. Add Child tasks, rename task, change dates...etc.) to the tasks are not being saved.
Am I missing something obvious?

I'm using latest  UI for ASP.NET AJAX version 2017.1.116.40

Below is my declarative 

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="ProjectPlan.aspx.cs" Inherits="ModitiPAdmin.Project.ProjectPlan" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI.Gantt" tagprefix="telerik" %><asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">     <%--     <telerik:RadScriptManager  ID="RadScriptManager1" runat="server">         <Scripts>             <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js">             </asp:ScriptReference>             <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js">             </asp:ScriptReference>             <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js">             </asp:ScriptReference>         </Scripts>     </telerik:RadScriptManager>         --%>      <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1">         <AjaxSettings>             <telerik:AjaxSetting AjaxControlID="ConfiguratorPanel">                 <UpdatedControls>                     <telerik:AjaxUpdatedControl ControlID="RadGantt1" />                     <telerik:AjaxUpdatedControl ControlID="ConfiguratorPanel" />                 </UpdatedControls>             </telerik:AjaxSetting>         </AjaxSettings>     </telerik:RadAjaxManager>     <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"></telerik:RadAjaxLoadingPanel>     <div>     </div>     <div>         <telerik:RadGantt RenderMode="Lightweight" runat="server" ID="RadGantt1" Skin="Material"             Height="700px"             ListWidth="520px"             EnableEmbeddedScripts="true"             EnableEmbeddedSkins="true"             EnableEmbeddedBaseStylesheet="true"             DataSourceID="TasksDataSource"             DependenciesDataSourceID="DependenciesDataSource"             ResourcesDataSourceID="ResourcesDataSource"             AssignmentsDataSourceID="AssignmentsDataSource"             SelectedView="MonthView"             AllowTaskInsert="true"             AllowTaskUpdate="true"             AllowTaskMove="true"             AllowTaskReorder="true"             AllowTaskDelete="true"             AllowDependencyInsert="true"             AllowDependencyDelete="true"             AllowPercentCompleteDrag="true"             AllowTaskResize="true"             AllowColumnResize="true"             AllowSorting="True"             DisplayDeleteConfirmation="true"             EnableResources="true"             EnablePdfExport="true"             AutoGenerateColumns="false"             ShowCurrentTimeMarker="true"             ShowTooltip="true"             ShowFullTime="true"             ShowFullWeek="true"             WorkWeekStart="Monday"             WorkWeekEnd="Friday"             >             <ExportSettings>                 <Pdf Landscape="true"                 >                 </Pdf>             </ExportSettings>             <DayView UserSelectable="true"  />             <WeekView UserSelectable="true"                 />             <MonthView UserSelectable="true"                 MonthHeaderDateFormat="Y"                 WeekHeaderDateFormat="ddd M/dd"                 />             <YearView UserSelectable="true" />             <Columns>                 <telerik:GanttBoundColumn DataField="id" AllowEdit="false" AllowSorting="false" Width="50px"  HeaderText="ID" DataType="Number">                 </telerik:GanttBoundColumn>                 <telerik:GanttBoundColumn DataField="Title" DataType="String" Width="120px" HeaderText="Title">                 </telerik:GanttBoundColumn>                 <telerik:GanttBoundColumn DataField="Start" DataType="DateTime" DataFormatString="dd/MM/yy" Width="80px"  HeaderText="Start">                 </telerik:GanttBoundColumn>                 <telerik:GanttBoundColumn DataField="End" DataType="DateTime" DataFormatString="dd/MM/yy" Width="80px" HeaderText="End">                 </telerik:GanttBoundColumn>                 <telerik:GanttBoundColumn DataField="PercentComplete" DataType="Number" Width="80px" HeaderText="% Complete">                 </telerik:GanttBoundColumn>                 <telerik:GanttResourceColumn HeaderText="Asssigned Resources"  Width="100px" ></telerik:GanttResourceColumn>             </Columns>             <CustomTaskFields>                 <telerik:GanttCustomField PropertyName="Description" ClientPropertyName="description"  Type="String" />             </CustomTaskFields>             <DataBindings>                 <TasksDataBindings                     IdField="gantttaskid"                     ParentIdField="parent_gantttaskid"                     StartField="start_datetime"                     EndField="end_datetime"                     OrderIdField="orderid"                     TitleField="title"                     PercentCompleteField="percentcomplete"                     SummaryField="summary"                     />                 <DependenciesDataBindings                     TypeField="type"                     IdField="ganttdependencyid"                     PredecessorIdField="predecessorid"                     SuccessorIdField="successorid" />                 <ResourcesDataBindings                     IdField="ganttresourceid"                     TextField="resourecode"                      ColorField="color"                     />                 <AssignmentsDataBindings                    IdField="ganttresourceassignmentid"                    ResourceIdField="resourceid"                    TaskIdField="taskid"                    UnitsField="units"  />             </DataBindings>         </telerik:RadGantt>     </div>     <div>         <asp:SqlDataSource ID="TasksDataSource" runat="server"             ConnectionString="<%$ ConnectionStrings:DefaultConnection %>"             DeleteCommand="DELETE FROM moditi.gantttask WHERE [gantttaskid] = @gantttaskid"             InsertCommand="INSERT INTO moditi.gantttask (parent_gantttaskid, orderid, title, start_datetime, end_datetime, percentcomplete, expanded, summary) VALUES (@parent_gantttaskid, @orderid, @title, @start_datetime, @end_datetime, @percentcomplete, @expanded, @summary)"             SelectCommand="SELECT * FROM moditi.gantttask"             UpdateCommand="UPDATE moditi.gantttask SET parent_gantttaskid = @parent_gantttaskid, orderid = @orderid, title = @title, start_datetime = @start_datetime, end_datetime = @end_datetime, percentcomplete = @percentcomplete, expanded = @expanded, summary = @summary WHERE gantttaskid = @gantttaskid">             <DeleteParameters>                 <asp:Parameter Name="gantttaskid" Type="Int64" />             </DeleteParameters>             <InsertParameters>                 <asp:Parameter Name="parent_gantttaskid" Type="Int64" />                 <asp:Parameter Name="orderid" Type="Int64" />                 <asp:Parameter Name="title" Type="String" />                 <asp:Parameter Name="start_datetime" Type="DateTime" />                 <asp:Parameter Name="end_datetime" Type="DateTime" />                 <asp:Parameter Name="percentcomplete" Type="Decimal" />                 <asp:Parameter Name="expanded" Type="Boolean" />                 <asp:Parameter Name="summary" Type="Boolean" />             </InsertParameters>             <UpdateParameters>                 <asp:Parameter Name="parent_gantttaskid" Type="Int64" />                 <asp:Parameter Name="orderid" Type="Int64" />                 <asp:Parameter Name="title" Type="String" />                 <asp:Parameter Name="start_datetime" Type="DateTime" />                 <asp:Parameter Name="end_datetime" Type="DateTime" />                 <asp:Parameter Name="percentcomplete" Type="Decimal" />                 <asp:Parameter Name="expanded" Type="Boolean" />                 <asp:Parameter Name="summary" Type="Boolean" />                 <asp:Parameter Name="gantttaskid" Type="Int64" />             </UpdateParameters>         </asp:SqlDataSource>         <asp:SqlDataSource ID="DependenciesDataSource" runat="server"             ConnectionString="<%$ ConnectionStrings:DefaultConnection %>"             SelectCommand="SELECT * FROM moditi.ganttdependency"             InsertCommand="INSERT INTO moditi.ganttdependency ([predecessorid], [successorid], [type]) VALUES (@predecessorid, @successorid, @type)"             UpdateCommand="UPDATE moditi.ganttdependency SET [predecessorid] = @predecessorid, [successorid] = @successorid, [type] = @type WHERE [ganttdependencyid] = @ganttdependencyid"             DeleteCommand="DELETE FROM moditi.ganttdependency WHERE [ganttdependencyid] = @ganttdependencyid"             >             <DeleteParameters>                 <asp:Parameter Name="ganttdependencyid" Type="Int64" />             </DeleteParameters>             <InsertParameters>                 <asp:Parameter Name="predecessorid" Type="Int64" />                 <asp:Parameter Name="successorid" Type="Int64" />                 <asp:Parameter Name="type" Type="Int64" />             </InsertParameters>             <UpdateParameters>                 <asp:Parameter Name="predecessorid" Type="Int64" />                 <asp:Parameter Name="successorid" Type="Int64" />                 <asp:Parameter Name="type" Type="Int64" />                 <asp:Parameter Name="ganttdependencyid" Type="Int64" />             </UpdateParameters>         </asp:SqlDataSource>         <asp:SqlDataSource runat="server" ID="ResourcesDataSource"             ConnectionString="<%$ ConnectionStrings:DefaultConnection %>"             SelectCommand="SELECT * FROM moditi.ganttresource"             DeleteCommand="DELETE FROM moditi.ganttresource WHERE [ganttresourceid] = @ganttresourceid"             >              <DeleteParameters>                 <asp:Parameter Name="ganttresourceid" Type="Int64" />             </DeleteParameters>         </asp:SqlDataSource>         <asp:SqlDataSource ID="AssignmentsDataSource" runat="server"             ConnectionString="<%$ ConnectionStrings:DefaultConnection %>"             SelectCommand="SELECT * FROM moditi.ganttresourceassignment"             DeleteCommand="DELETE FROM moditi.ganttresourceassignment WHERE [ganttresourceassignmentid] = @ganttresourceassignmentid"             InsertCommand="INSERT INTO moditi.ganttresourceassignment (taskid, resourceid, units) VALUES (@taskid, @resourceid, @units)"             UpdateCommand="UPDATE moditi.ganttresourceassignment SET taskid = @taskid, resourceid = @resourceid, units = @units WHERE ganttresourceassignmentid = @ganttresourceassignmentid">             <DeleteParameters>                 <asp:Parameter Name="ganttresourceassignmentid" Type="Int64" />             </DeleteParameters>             <InsertParameters>                 <asp:Parameter Name="taskid" Type="Int64" />                 <asp:Parameter Name="resourceid" Type="Int64" />                 <asp:Parameter Name="units" Type="Decimal" />             </InsertParameters>             <UpdateParameters>                 <asp:Parameter Name="ganttresourceassignmentid" Type="Int64" />                 <asp:Parameter Name="taskid" Type="Int64" />                 <asp:Parameter Name="resourceid" Type="Int64" />                 <asp:Parameter Name="units" Type="Decimal" />             </UpdateParameters>         </asp:SqlDataSource>     </div>

</asp:Content>

1 Answer, 1 is accepted

Sort by
0
Alfred
Top achievements
Rank 1
answered on 24 Jan 2017, 06:46 PM

Resolved,

When defining IDs(taskid,parent_taskid...etc.) fields for the RadGantt, make sure they are int32(int in sql server) instead of int64(bigint).

Regards,

Alfred

Tags
Gantt
Asked by
Alfred
Top achievements
Rank 1
Answers by
Alfred
Top achievements
Rank 1
Share this question
or