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

2 posts, 0 answers
  1. Alfred
    Alfred avatar
    2 posts
    Member since:
    Jan 2012

    Posted 22 Jan Link to this post

    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>

  2. Alfred
    Alfred avatar
    2 posts
    Member since:
    Jan 2012

    Posted 24 Jan in reply to Alfred Link to this post

    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

Back to Top