[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 239
  • Last Modified:

Gridview Button not firing on first click

This works but only on the 2nd click of the gridview button.  Following is the code I have used.  Any help is appreciated.

I have constructed a gridview
            <asp:GridView ID="gvAction" runat="server"
                           AutoGenerateColumns="False"
                           SkinID="GridViewCTELNopaging"
                           onrowdatabound = "gvAction_RowDataBound" > 
with a button in a template field.  
                     <asp:TemplateField HeaderText="Edit">
                         <ItemTemplate>
                             <asp:Button ID="btnActionGridSearch" runat="server" CommandName="EditAction"
                                 Text="Edit" OnClick = "btnActionGridSearch_Click"  />
                         </ItemTemplate>
                     </asp:TemplateField>
In code behind:
rowdatabound:
       protected void gvAction_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            GridView gv = (GridView)sender;
            RowCount = e.Row.RowIndex;
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                 e.Row.Style["cursor"] = "hand";
                btn = (Button)e.Row.FindControl("btnActionGridSearch");
                btn.Attributes.Add("rowNumber", RowCount.ToString());
                btn.ID = RowCount.ToString();
                e.Row.Cells[1].Style.Add("display", "none");
            }
        }
button click:
        protected void btnActionGridSearch_Click(object sender, EventArgs e)
        {
            //Go to hidden panel to display the Followups specific to this opportunity
            Button btn = (Button)sender;
            string it = btn.Attributes["rowNumber"].ToString();
            int TheRow = Convert.ToInt16(it);
            string ActionID = gvAction.Rows[TheRow].Cells[1].Text;
            DataTable dtActionItems = dalOpportunityDetail.GetActionByID(ActionID);
            txtFUSummary.Text = dtActionItems.Rows[0]["Summary"].ToString();
            txtMemo.Text = dtActionItems.Rows[0]["Memo"].ToString();
            string type = dtActionItems.Rows[0]["Type"].ToString();

            if (dtActionItems.Rows[0]["isFollowupClosed"].ToString() == "-1")
            {

                rbFuOpen.Checked = true;
                rbFuClosed.Checked = false;
            }
            else
            {
                rbFuOpen.Checked = false;
                rbFuClosed.Checked = true;
            }
            pnFollowups.Visible = false;
            pnFollowupDetail.Visible = true;
        }



0
daforga
Asked:
daforga
1 Solution
 
thaytu888888Commented:
- Why you need this line of code:  btn.ID = RowCount.ToString(); ?
- Please post Page_Load function so i can have more informations.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now