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

e.Canceled wont hide template

4 Answers 127 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Rawl
Top achievements
Rank 1
Rawl asked on 12 Mar 2013, 10:25 PM
Hi all,

I have a RadGrid1_ItemCommand where at an e.CommandName == "PerformInsert" after inserting I use the e.Canceled = true to hide the insert template, but it nevers hide. What I'm doing wrong please. Here is the code. The update part does work and hides the <EditFormSettings EditFormType="Template">

protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
        {
            if (e.CommandName == "PerformInsert" || e.CommandName == "Update")
            {
                //some code block
                    if (Session["idSess"] == null)
                    {
                        objBz.Insert(objEntity);
                        e.Canceled = false;
                    }
                    else
                    {
                        objBz.Update(objEntity);
                        RadGrid1.MasterTableView.ClearEditItems();
                    }
            }

4 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 13 Mar 2013, 05:15 AM
Hi,

Try the following code.
C#:
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
 if (e.CommandName == RadGrid.PerformInsertCommandName)
 {
          RadGrid1.MasterTableView.IsItemInserted = false;
 }
}

Thanks,
Shinu
0
Rawl
Top achievements
Rank 1
answered on 13 Mar 2013, 01:41 PM
Hi Shinu.

I tried using that line and I got this error:

Sys.WebForms.PageRequestManagerServerErrorException: Insert item is available only when grid is in insert mode.
0
Accepted
Shinu
Top achievements
Rank 2
answered on 14 Mar 2013, 08:59 AM
Hi Raul,

Unfortunately I couldn't replicate the Problem. Please take a look into the sample code I tried which worked as expected.

ASPX:
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="false"
    AutoGenerateEditColumn="true" OnItemCommand="RadGrid1_ItemCommand">
    <MasterTableView CommandItemDisplay="Top">
        <EditFormSettings EditFormType="Template">
            <FormTemplate>
                <asp:TextBox ID="Test" runat="server"></asp:TextBox>
                <telerik:RadButton ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
                    runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert":"Update" %>'>
                </telerik:RadButton>
            </FormTemplate>
        </EditFormSettings>
        <Columns>
            <telerik:GridBoundColumn UniqueName="OrderID" DataField="OrderID">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn UniqueName="EmployeeID" DataField="EmployeeID">
            </telerik:GridBoundColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

C#:
protected void RadGrid1_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
    if (e.CommandName == RadGrid.PerformInsertCommandName || e.CommandName == RadGrid.UpdateCommandName)
    {
        if (RadGrid1.MasterTableView.IsItemInserted)
        {
            RadGrid1.MasterTableView.IsItemInserted = false;
        }
        else
        {
            RadGrid1.MasterTableView.ClearEditItems();
        }   
    }
}

Please provide your code if it doesn't help.

Thanks,
Shinu.
0
Rawl
Top achievements
Rank 1
answered on 14 Mar 2013, 08:00 PM
Hi,

the problem is now fixed, I only set the automatic insert and update to false.
AllowAutomaticInserts="False" AllowAutomaticUpdates="False"
Tags
Grid
Asked by
Rawl
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Rawl
Top achievements
Rank 1
Share this question
or