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

Closing insert template

1 Answer 33 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
Christopher
Top achievements
Rank 1
Christopher asked on 15 Mar 2013, 01:30 PM
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;

 

1 Answer, 1 is accepted

Sort by
0
Kostadin
Telerik team
answered on 20 Mar 2013, 09:38 AM
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.
Tags
Ajax
Asked by
Christopher
Top achievements
Rank 1
Answers by
Kostadin
Telerik team
Share this question
or