I have a RadGrid named gvConcurrence that has an Edit Template with button called btnUpdate. When I click on the button It does not hit my OnInsertCommand="gvConcurrence_InsertCommand". If I hit the btnUpdate again it then goes into my OnInsertCommand="gvConcurrence_InsertCommand". Why is it skipping on my first hit of the btnUpdate? Here is the template section with the button and below that is my full aspx and aspx.cs. Oh and by the way the Grid is in a user control but I don't believe that should be the reason why it does not fire on first hit. Or maybe that's my answer. Anyhow...here you go.
Full aspx
Full aspx.cs
| <EditFormSettings EditFormType="Template"> |
| <FormTemplate> |
| <table id="Table2" cellspacing="2" cellpadding="1" border="0" rules="none" |
| style="border-collapse: collapse; background: white;"> |
| <tr> |
| <td colspan="2" style="font-size: small"> |
| <b>Add Additional Concurrence</b> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <asp:DropDownList ID="ddlConcur" runat="server"> |
| <asp:ListItem>Approve</asp:ListItem> |
| <asp:ListItem>Disapprove</asp:ListItem> |
| <asp:ListItem>Abstain</asp:ListItem> |
| </asp:DropDownList> |
| </td> |
| <td valign="top"> |
| <telerik:RadTextBox Width="195px" ID="txtComments" runat="server" TextMode="MultiLine" |
| Label="Comments: " EmptyMessage="Enter Comments Here" AutoPostBack="true" > |
| </telerik:RadTextBox> |
| </td> |
| </tr> |
| <tr> |
| <td align="right" colspan="2"> |
| <asp:Button ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>' |
| runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'> |
| </asp:Button> |
| <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" |
| CommandName="Cancel"></asp:Button></td> |
| </tr> |
| </table> |
| </FormTemplate> |
| </EditFormSettings> |
| <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Concurrence.ascx.cs" Inherits="AMC.OnlineSCR.Web.UserControls.Concurrence" %> |
| <%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %> |
| <asp:LoginName ID="LoginName1" Visible="false" runat="server" /> |
| <telerik:RadGrid ID="gvConcurrence" |
| runat="server" |
| Width="96%" |
| GridLines="None" |
| AutoGenerateColumns="False" |
| PageSize="13" |
| AllowSorting="True" |
| AllowPaging="True" |
| OnNeedDataSource="gvConcurrence_NeedDataSource" |
| ShowStatusBar="true" |
| OnInsertCommand="gvConcurrence_InsertCommand" |
| OnDeleteCommand="gvConcurrence_DeleteCommand" |
| OnItemDataBound="gvConcurrence_ItemDataBound" |
| OnEditCommand="gvConcurrence_EditCommand"> |
| <MasterTableView DataKeyNames="CONCURRENCE_ID" |
| AllowMultiColumnSorting="True" |
| Width="100%" |
| CommandItemDisplay="Top"> |
| <Columns> |
| <telerik:GridButtonColumn UniqueName="DeleteColumn" |
| Text="Delete" |
| CommandName="Delete" /> |
| <telerik:GridBoundColumn UniqueName="CONCURRENCE_ID" |
| SortExpression="CONCURRENCE_ID" |
| HeaderText="CONCURRENCE ID" |
| DataField="CONCURRENCE_ID" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="SCRID" |
| SortExpression="SCRID" |
| HeaderText="SCR ID" |
| DataField="SCRID" |
| Display="false" /> |
| <telerik:GridBoundColumn UniqueName="CONCURRENCE" |
| SortExpression="CONCURRENCE" |
| HeaderText="Concurrence" |
| DataField="CONCURRENCE" /> |
| <telerik:GridBoundColumn UniqueName="COMMENTS" |
| SortExpression="COMMENTS" |
| HeaderText="Comments" |
| DataField="COMMENTS" /> |
| <telerik:GridBoundColumn UniqueName="USER_ID" |
| SortExpression="USER_ID" |
| HeaderText="User ID" |
| DataField="USER_ID" |
| Display="false" /> |
| <telerik:GridBoundColumn UniqueName="USER_NAME" |
| SortExpression="USER_NAME" |
| HeaderText="User Name" |
| DataField="USER_NAME" /> |
| <telerik:GridBoundColumn UniqueName="FIRST_NAME" |
| SortExpression="FIRST_NAME" |
| HeaderText="First Name" |
| DataField="FIRST_NAME" /> |
| <telerik:GridBoundColumn UniqueName="LAST_NAME" |
| SortExpression="LAST_NAME" |
| HeaderText="Last Name" |
| DataField="LAST_NAME" /> |
| <telerik:GridBoundColumn UniqueName="POSITION_TITLE" |
| SortExpression="POSITION_TITLE" |
| HeaderText="POSITION_TITLE" |
| DataField="POSITION_TITLE" /> |
| <telerik:GridBoundColumn UniqueName="ADDRESS" |
| SortExpression="ADDRESS" |
| HeaderText="Address" |
| DataField="ADDRESS" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="CITY" |
| SortExpression="CITY" |
| HeaderText="City" |
| DataField="CITY" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="STATE" |
| SortExpression="STATE" |
| HeaderText="State" |
| DataField="STATE" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="ZIP" |
| SortExpression="ZIP" |
| HeaderText="Zip" |
| DataField="ZIP" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="PHONE" |
| SortExpression="PHONE" |
| HeaderText="Phone" |
| DataField="PHONE" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="EXTENSION" |
| SortExpression="EXTENSION" |
| HeaderText="Extension" |
| DataField="EXTENSION" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="BASE_ID" |
| SortExpression="BASE_ID" |
| HeaderText="Base ID" |
| DataField="BASE_ID" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="CODE" |
| SortExpression="CODE" |
| HeaderText="Base Code" |
| DataField="CODE"/> |
| <telerik:GridBoundColumn UniqueName="GEOLOC_NAME" |
| SortExpression="GEOLOC_NAME" |
| HeaderText="Geo Loc Name" |
| DataField="GEOLOC_NAME" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="COMMAND" |
| SortExpression="COMMAND" |
| HeaderText="Command" |
| DataField="COMMAND" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="UNIT_DEPARTMENT" |
| SortExpression="UNIT_DEPARTMENT" |
| HeaderText="Unit/Department" |
| DataField="UNIT_DEPARTMENT" |
| Display="false"/> |
| <telerik:GridBoundColumn UniqueName="EMAIL" |
| SortExpression="EMAIL" |
| HeaderText="Email" |
| DataField="EMAIL" /> |
| </Columns> |
| <EditFormSettings EditFormType="Template"> |
| <FormTemplate> |
| <table id="Table2" cellspacing="2" cellpadding="1" border="0" rules="none" |
| style="border-collapse: collapse; background: white;"> |
| <tr> |
| <td colspan="2" style="font-size: small"> |
| <b>Add Additional Concurrence</b> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <asp:DropDownList ID="ddlConcur" runat="server"> |
| <asp:ListItem>Approve</asp:ListItem> |
| <asp:ListItem>Disapprove</asp:ListItem> |
| <asp:ListItem>Abstain</asp:ListItem> |
| </asp:DropDownList> |
| </td> |
| <td valign="top"> |
| <telerik:RadTextBox Width="195px" ID="txtComments" runat="server" TextMode="MultiLine" |
| Label="Comments: " EmptyMessage="Enter Comments Here" AutoPostBack="true" > |
| </telerik:RadTextBox> |
| </td> |
| </tr> |
| <tr> |
| <td align="right" colspan="2"> |
| <asp:Button ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>' |
| runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'> |
| </asp:Button> |
| <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" |
| CommandName="Cancel"></asp:Button></td> |
| </tr> |
| </table> |
| </FormTemplate> |
| </EditFormSettings> |
| </MasterTableView> |
| </telerik:RadGrid> |
| using System; |
| using System.Collections; |
| using System.ComponentModel; |
| using System.Data; |
| using System.Drawing; |
| using System.Web; |
| using System.Web.SessionState; |
| using System.Web.UI; |
| using System.Web.UI.WebControls; |
| using System.Web.UI.HtmlControls; |
| using AMC.OnlineSCR.BusinessLayer.BusinessObjects; |
| using AMC.OnlineSCR.BusinessLayer.Facade; |
| using AMC.OnlineSCR.Web.Components; |
| using Telerik.Web.UI; |
| using G081.WebLogin.CustomProviders; |
| using System.Web.Security; |
| namespace AMC.OnlineSCR.Web.UserControls |
| { |
| public partial class Concurrence : System.Web.UI.UserControl |
| { |
| private IApprovalsDataFacade approvalsFacade = new ApprovalsDataFacade(); |
| private IUsersDataFacade userFacade = new UsersDataFacade(); |
| int m_ConcurrenceID; |
| int m_SCRID; |
| public int ConcurrenceID |
| { |
| get { return m_ConcurrenceID; } |
| set { m_ConcurrenceID = value; } |
| } |
| public int SCRID |
| { |
| get { return m_SCRID; } |
| set { m_SCRID = value; } |
| } |
| public DataSet ConcurrenceData |
| { |
| get |
| { |
| DataSet ds = approvalsFacade.GetApprovalsBySCRID(m_SCRID); |
| return ds; |
| } |
| } |
| protected void Page_PreRender(object sender, System.EventArgs e) |
| { |
| if (!this.IsPostBack) |
| { |
| this.gvConcurrence.MasterTableView.Rebind(); |
| } |
| } |
| protected void CheckBox1_CheckedChanged(object sender, System.EventArgs e) |
| { |
| //this.gvPrograms.AllowMultiRowEdit = this.CheckBox1.Checked; |
| this.gvConcurrence.Rebind(); |
| } |
| protected void gvConcurrence_NeedDataSource(object source, GridNeedDataSourceEventArgs e) |
| { |
| this.gvConcurrence.DataSource = this.ConcurrenceData; |
| } |
| protected void gvConcurrence_InsertCommand(object source, GridCommandEventArgs e) |
| { |
| MembershipUser user = Membership.GetUser(); |
| string userName = user.UserName.ToString(); |
| DataSet userInfo = userFacade.GetUserWithInfoByUserName(userName.ToUpper()); |
| int userID = Convert.ToInt16(userInfo.Tables[0].Rows[0]["USER_ID"].ToString()); |
| UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID); |
| DropDownList ddlConcur = (DropDownList)e.Item.FindControl("ddlConcur"); |
| string concur = ddlConcur.SelectedValue.ToString(); |
| RadTextBox txtComments = (RadTextBox)e.Item.FindControl("txtComments"); |
| string comments = txtComments.Text; |
| // use 0 for concurrenceID so that you can insert a new record |
| approvalsFacade.insertApprovalsBySCRID(SCRID, 0, userID, concur, comments); |
| } |
| protected void gvConcurrence_EditCommand(object source, GridCommandEventArgs e) |
| { |
| //e is the event argument object |
| if (e.Item is GridDataItem) |
| { |
| GridDataItem dataItem = e.Item as GridDataItem; |
| int ConcurrenceID = Convert.ToInt16(dataItem["Concurrence_ID"].Text); |
| int scrID = Convert.ToInt16(dataItem["SCRID"].Text); |
| MembershipUser user = Membership.GetUser(); |
| string userName = user.UserName.ToString(); |
| DataSet userInfo = userFacade.GetUserWithInfoByUserName(userName.ToUpper()); |
| int userID = Convert.ToInt16(userInfo.Tables[0].Rows[0]["USER_ID"].ToString()); |
| UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID); |
| DropDownList ddlConcur = (DropDownList)e.Item.FindControl("ddlConcur"); |
| string concur = ddlConcur.SelectedValue.ToString(); |
| RadTextBox txtComments = (RadTextBox)e.Item.FindControl("txtComments"); |
| string comments = txtComments.Text; |
| approvalsFacade.insertApprovalsBySCRID(scrID, ConcurrenceID, userID, concur, comments); |
| } |
| else if (e.Item is GridEditFormItem) |
| { |
| GridEditFormItem editItem = e.Item as GridEditFormItem; |
| int ConcurrenceID = Convert.ToInt16(editItem["Concurrence_ID"].Text); |
| int scrID = Convert.ToInt16(editItem["SCRID"].Text); |
| MembershipUser user = Membership.GetUser(); |
| string userName = user.UserName.ToString(); |
| DataSet userInfo = userFacade.GetUserWithInfoByUserName(userName.ToUpper()); |
| int userID = Convert.ToInt16(userInfo.Tables[0].Rows[0]["USER_ID"].ToString()); |
| UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID); |
| DropDownList ddlConcur = (DropDownList)e.Item.FindControl("ddlConcur"); |
| string concur = ddlConcur.SelectedValue.ToString(); |
| RadTextBox txtComments = (RadTextBox)e.Item.FindControl("txtComments"); |
| string comments = txtComments.Text; |
| approvalsFacade.insertApprovalsBySCRID(scrID, ConcurrenceID, userID, concur, comments); |
| } |
| } |
| protected void gvConcurrence_DeleteCommand(object source, GridCommandEventArgs e) |
| { |
| //e is the event argument object |
| if (e.Item is GridDataItem) |
| { |
| GridDataItem dataItem = e.Item as GridDataItem; |
| int ConcurrenceID = Convert.ToInt16(dataItem["Concurrence_ID"].Text); |
| approvalsFacade.DeleteApprovalsByConcID(ConcurrenceID); |
| } |
| else if (e.Item is GridEditFormItem) |
| { |
| GridEditFormItem editItem = e.Item as GridEditFormItem; |
| } |
| } |
| private void Page_Load(object sender, System.EventArgs e) |
| { |
| if (!Page.IsPostBack) |
| { |
| } |
| } |
| protected void gvConcurrence_ItemDataBound(object sender, GridItemEventArgs e) |
| { |
| //e is the event argument object |
| if (e.Item is GridEditFormItem && e.Item.IsInEditMode) |
| { |
| GridEditFormItem item = (GridEditFormItem)e.Item; |
| } |
| else if (e.Item is GridEditFormItem) |
| { |
| GridEditFormItem editItem = e.Item as GridEditFormItem; |
| } |
| } |
| } |
| } |