Closing insert template

2 posts, 0 answers
  1. Christopher
    Christopher avatar
    1 posts
    Member since:
    Mar 2013

    Posted 15 Mar 2013 Link to this post

    I'm developing a grid based largely on http://demos.telerik.com/aspnet-ajax/grid/examples/programming/commanditem/defaultcs.aspx

    I need to be able to programatically abort inserting a record, and close the insert items template so that the user no longer sees the controls used for inserting. In the grid's ItemCommand, event, I want to do something like this:

     

    public void radGrid_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
    {
        switch (e.CommandName.ToString())
        {
             case "PerformInsert":
             {
                   //do something to determine if I can insert a record
                   //if I can not insert a record
                   //How do I close the insert items template?

     

    I've tried e.Cancelled = true; but that doesn't seem to work. At this point, I successfully abort the insert, but the user continues to see the insert controls. She/he has to click the insert template's cancel button to close them.

    Thanks!

    Here's the grid markup:

    <telerik:RadGrid runat="server" ID="rgDashboardGoals" AllowSorting="false" AllowAutomaticDeletes="true"
                      GridLines="None" AllowFilteringByColumn="false" AllowPaging="true" Skin="Outlook"
                      EnableViewState="true" AutoGenerateColumns="false" AllowAutomaticUpdates="true" PageSize="10"
                      AllowMultiRowSelection="True" AllowMultiRowEdit="True" AllowAutomaticInserts="True"
                      OnItemUpdated="rgDashboardGoals_ItemUpdated" OnItemCommand="rgDashboardGoals_ItemCommand" 
                      OnPageIndexChanged="rgDashboardGoals_PageChange" OnItemDataBound="rgDashboardGoals_ItemDataBound"
                      StatusBarSettings-LoadingText="Loading..." OnNeedDataSource="LoadDashboardGoalsGrid">
         <MasterTableView DataKeyNames="PartsDashboard_id,MonthYear" CommandItemDisplay="Top">
             <CommandItemTemplate>
                 <div style="padding: 5px 5px;">
                     Dashboard Goals grid management tools >>    
                     <asp:LinkButton ID="btnEditSelected" runat="server" CommandName="EditSelected"
                                     Visible='<%# rgDashboardGoals.EditIndexes.Count == 0 %>'>
                         <img style="border:0px;vertical-align:middle;" alt="" src="../Images/Edit.gif"/>Edit selected
                     </asp:LinkButton>  
                     <asp:LinkButton ID="btnUpdateEdited" runat="server" CommandName="UpdateEdited"
                                     Visible='<%# rgDashboardGoals.EditIndexes.Count > 0 %>'>
                         <img style="border:0px;vertical-align:middle;" alt="" src="../Images/Update.gif"/>Update
                     </asp:LinkButton>  
                     <asp:LinkButton ID="btnCancel" runat="server" CommandName="CancelAll" CausesValidation="false"
                                     Visible='<%# rgDashboardGoals.EditIndexes.Count > 0 || rgDashboardGoals.MasterTableView.IsItemInserted %>'>
                         <img style="border:0px;vertical-align:middle;" alt="" src="../Images/Cancel.gif"/>Cancel
                     </asp:LinkButton>  
                     <asp:LinkButton ID="LinkButton2" runat="server" CommandName="InitInsert"
                                     Visible='<%# !rgDashboardGoals.MasterTableView.IsItemInserted %>'>
                         <img style="border:0px;vertical-align:middle;" alt="" src="../Images/AddNew.gif"/>Add new
                     </asp:LinkButton>  
                     <asp:LinkButton ID="LinkButton3" runat="server" CommandName="PerformInsert"
                                     Visible='<%# rgDashboardGoals.MasterTableView.IsItemInserted %>'>
                         <img style="border:0px;vertical-align:middle;" alt="" src="../Images/Insert.gif"/> Add this goal record
                     </asp:LinkButton>  
                     <asp:LinkButton ID="LinkButton1" OnClientClick="javascript:return confirm('Delete selected goal record(s)?')"
                                     runat="server" CommandName="DeleteSelected">
                         <img style="border:0px;vertical-align:middle;" alt="" src="../Images/deleteRecord.gif"/>Delete selected goal records
                     </asp:LinkButton>  
                     <asp:LinkButton ID="LinkButton4" runat="server" CommandName="RebindGrid">
                         <img style="border:0px;vertical-align:middle;" alt="" src="../Images/refreshGrid.gif"/>Refresh grid
                     </asp:LinkButton>
                 </div>
             </CommandItemTemplate>                               
             <Columns>
                 <telerik:GridBoundColumn ReadOnly="true" UniqueName="Dealer_id" HeaderText="Dealer Code"
                                          SortExpression="Dealer_id" DataField="Dealer_id" />
                 <telerik:GridBoundColumn UniqueName="MonthYear" DataField="MonthYear" ReadOnly="true"
                                          HeaderText="Month/Year" SortExpression="MonthYear" />
                 <telerik:GridTemplateColumn ReadOnly="true" UniqueName="HinoOnlyGoal" SortExpression="HinoOnlyGoal"
                                             HeaderText="Hino Only Goal">
                     <ItemTemplate>
                         <asp:Label ID="lblHinoOnlyGoal" Text='<%# Eval("HinoOnlyGoal").ToString() %>' runat="server" />
                     </ItemTemplate>
                 </telerik:GridTemplateColumn>
                 <telerik:GridTemplateColumn UniqueName="GoalMonthInsert" EditFormColumnIndex="0" Visible="false"
                                             HeaderText="Goal Month">
                     <InsertItemTemplate>
                         <asp:DropDownList ID="ddlGoalMonth" runat="server" CssClass="hino_text">
                             <asp:ListItem Text="January" Value="1" />
                             <asp:ListItem Text="February" Value="2" />
                             <asp:ListItem Text="March" Value="3" />
                             <asp:ListItem Text="April" Value="4" />
                             <asp:ListItem Text="May" Value="5" />
                             <asp:ListItem Text="June" Value="6" />
                             <asp:ListItem Text="July" Value="7" />
                             <asp:ListItem Text="August" Value="8" />
                             <asp:ListItem Text="September" Value="9" />
                             <asp:ListItem Text="October" Value="10" />
                             <asp:ListItem Text="November" Value="11" />
                             <asp:ListItem Text="December" Value="12" />
                         </asp:DropDownList>
                     </InsertItemTemplate>
                 </telerik:GridTemplateColumn>                                                                   
     
                 <telerik:GridTemplateColumn UniqueName="GoalYearInsert" EditFormColumnIndex="0" Visible="false"
                                             HeaderText="Goal Year">
                     <InsertItemTemplate>
                         <asp:DropDownList ID="ddlGoalYear" runat="server" CssClass="hino_text">
                             <asp:ListItem Text="2013" Value="2013" />
                             <asp:ListItem Text="2014" Value="2014" />
                             <asp:ListItem Text="2015" Value="2015" />
                             <asp:ListItem Text="2016" Value="2016" />
                             <asp:ListItem Text="2017" Value="2017" />
                             <asp:ListItem Text="2018" Value="2018" />
                         </asp:DropDownList>
                     </InsertItemTemplate>
                 </telerik:GridTemplateColumn>
                                                                                   
                 <telerik:GridTemplateColumn UniqueName="HinoOnlyGoalEdit" EditFormColumnIndex="0" Visible="false"
                                             HeaderText="Hino Only Goal">
                     <EditItemTemplate>
                         <asp:TextBox ID="txtHinoOnlyGoal" runat="server" Text='<%# Eval("HinoOnlyGoal").ToString() %>' />
                         <asp:RequiredFieldValidator ID="rfvHinoOnlyGoal" ControlToValidate="txtHinoOnlyGoal"
                                                     ErrorMessage="*- Required" runat="server" InitialValue="" />
                         <asp:RegularExpressionValidator ID="revHinoOnlyGoal" runat="server"  ControlToValidate="txtHinoOnlyGoal"
                                                         ErrorMessage="* - Must be a valid number. "        
                                                         ValidationExpression="[0-9]+(\.[0-9][0-9]?)?" />
                     </EditItemTemplate>
                 </telerik:GridTemplateColumn>
                 <telerik:GridTemplateColumn ReadOnly="true" UniqueName="AllMakesGoal" SortExpression="AllMakesGoal"
                                             HeaderText="All Makes Goal">
                     <ItemTemplate>
                         <asp:Label ID="lblAllMakesGoal" Text='<%# Eval("AllMakesGoal").ToString() %>' runat="server" />
                     </ItemTemplate>
                 </telerik:GridTemplateColumn>
                 <telerik:GridTemplateColumn UniqueName="AllMakesGoalEdit" EditFormColumnIndex="0" Visible="false"
                                             HeaderText="All Makes Goal">
                     <EditItemTemplate>
                         <asp:TextBox ID="txtAllMakesGoal" runat="server" Text='<%# Eval("AllMakesGoal").ToString() %>' />
                         <asp:RequiredFieldValidator ID="rfvAllMakesGoal" ControlToValidate="txtAllMakesGoal"
                                                     ErrorMessage="*- Required" runat="server" InitialValue="" />
                         <asp:RegularExpressionValidator ID="revAllMakesGoal" runat="server" ErrorMessage="* - Must be a valid number. "
                                                         ControlToValidate="txtAllMakesGoal" ValidationExpression="[0-9]+(\.[0-9][0-9]?)?" />
                     </EditItemTemplate>
                 </telerik:GridTemplateColumn>
             </Columns>
             <EditFormSettings ColumnNumber="3">
                 <FormTableItemStyle Wrap="False"></FormTableItemStyle>
                 <FormCaptionStyle></FormCaptionStyle>
                 <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="3" Width="100%" />
                 <FormTableStyle GridLines="Horizontal" CellSpacing="0" CellPadding="2" Height="110px" Width="100%" />
                 <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle>
                 <FormStyle Width="100%" BackColor="#eef2ea"></FormStyle>
                 <EditColumn UniqueName="EditCommandColumn1" UpdateImageUrl="../Images/order.gif"
                             CancelImageUrl="../Images/cancel.gif" ButtonType="ImageButton" />
                 <FormTableButtonRowStyle HorizontalAlign="Left"></FormTableButtonRowStyle>
             </EditFormSettings>
         </MasterTableView>
         <ClientSettings EnableRowHoverStyle="true">
             <Selecting AllowRowSelect="True" />
         </ClientSettings>
     </telerik:RadGrid>

     

    e.Canceled =

     

     

    true;

     

    e.Canceled =

     

     

    true;

     

    e.Canceled =

     

     

    true;

     

  2. Kostadin
    Admin
    Kostadin avatar
    1708 posts

    Posted 20 Mar 2013 Link to this post

    Hello Christopher,

    I was not able to reproduce the issue on my side. I prepared a small sample and attached it to this forum post. As you can see when the insert command is canceled OnItemCommand event the insert form will not be opened. Could you please give it a try and let me know how it differs from your real setup?

    Kind regards,
    Kostadin
    the Telerik team
    If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
  3. UI for ASP.NET Ajax is Ready for VS 2017
Back to Top