Improve company productivity with a Business Account.Sign Up

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

GridView footer is not showing up

I have a GridView on the web page. I added Footertemplate to GridView. There is add button outside the GridView. When I click the add button I want to show the footer.
It is entering into button click, not showing any error. But still the footer is not displayed.

Please see the markup and code.
<asp:GridView ID="grd1" runat="server" SkinID="GridView10RowsSortAndPage" OnRowCommand="Grid_RowCommand"
                                                                            OnRowDataBound="Grid_RowDataBound">
                                                                            <Columns>
                                                                                <asp:BoundField DataField="Number" HeaderText="Number" SortExpression="Number" />
                                                                                <asp:TemplateField HeaderText="Amount">
                                                                                    <ItemTemplate>
                                                                                        <asp:LinkButton ID="btnAmt" runat="server" Text='<%# Bind("AMOUNT")%>'
                                                                                            CommandName="Select"></asp:LinkButton>
                                                                                    </ItemTemplate>
                                                                                       <FooterTemplate>
                                                                                        <asp:LinkButton ID="btnInsert" CommandName="Insert" Text="Insert" runat="Server"></asp:LinkButton>
                                                                                        &nbsp;
                                                                                        <asp:LinkButton ID="btnDelete" runat="server" CausesValidation="false" Text="Cancel"></asp:LinkButton>
                                                                                    </FooterTemplate>
                                                                                </asp:TemplateField>
                                                                                <asp:TemplateField HeaderText="Type">
                                                                                    <ItemTemplate>
                                                                                        <asp:Label ID="lblDesc" runat="server" Text='<%# Bind("DESCRIPTION")%>'></asp:Label>
                                                                                    </ItemTemplate>
                                                                                  <FooterTemplate>
                                                                                        <asp:TextBox ID="txtDesc" runat="server" Text='<%# Bind("DESCRIPTION")%>'>  </asp:TextBox>
                                                                                    </FooterTemplate>
                                                                                </asp:TemplateField>
                                                                                <asp:TemplateField HeaderText="Date">
                                                                                    <ItemTemplate>
                                                                                        <asp:Label ID="lbldate" runat="server" Text='<%# Bind("Date")%>'></asp:Label>
                                                                                    </ItemTemplate>
                                                                                   <FooterTemplate>
                                                                                        <asp:TextBox ID="txtdate" runat="server" Text='<%# Bind("Date")%>'>  </asp:TextBox>
                                                                                    </FooterTemplate>
                                                                                </asp:TemplateField>
                                                                                <asp:TemplateField HeaderText="Time">
                                                                                    <ItemTemplate>
                                                                                        <asp:Label ID="lbltime" runat="server" Text='<%# Bind("TIME")%>'></asp:Label>
                                                                                    </ItemTemplate>
                                                                                   <FooterTemplate>
                                                                                        <asp:TextBox ID="txttime" runat="server" Text='<%# Bind("TIME")%>'> </asp:TextBox>
                                                                                    </FooterTemplate>
                                                                                </asp:TemplateField>
                                                                               
                                                                                <asp:TemplateField HeaderText="Name">
                                                                                    <ItemTemplate>
                                                                                        <asp:Label ID="lblname" runat="server" Text='<%# Bind("Name")%>'></asp:Label>
                                                                                    </ItemTemplate>
                                                                                     <FooterTemplate>
                                                                                        <asp:TextBox ID="txtMbrName" runat="server" Text='<%# Bind("MemberName")%>'>  </asp:TextBox>
                                                                                    </FooterTemplate>
                                                                                </asp:TemplateField>
                                                                            </Columns>
                                                                        </asp:GridView>

   <asp:TableRow SkinID="GeneralRowSkin">
                                                                                                <asp:TableCell SkinID="TableCellSkin">
                                                                                                        <asp:ImageButton ID="btnAdd" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/App_Themes/Images/add.gif" OnClick="ImageButton_Clicked"/> &nbsp;
                                                                                                       
                                                                                                </asp:TableCell>
                                                                                           </asp:TableRow>      





 protected void ImageButton_Clicked(object sender, ImageClickEventArgs e)
        {
            try
            {
                ImageButton img = (ImageButton)sender;
                switch (img.ID.Trim())
                {

                    case "btnAdd":
                        {
                         
                            grd1.ShowFooter = true;
                           
                            break;
                        }
                }
            }
            catch (Exception ex)
            {
               
            }
            finally
            {

            }
           

        }  

Any suggestions please.

Thanks
0
KavyaVS
Asked:
KavyaVS
4 Solutions
 
NavneetSoftware EngineerCommented:
0
 
Miguel OzSoftware EngineerCommented:
If you replace your handler for:
protected void ImageButton_Clicked(object sender, ImageClickEventArgs e)
{
                             grd1.ShowFooter = true;
}

Open in new window

Does it work?
How is the gridview loading data? Which method/events is loading it?

If it does not work you need to call this line (grd1.ShowFooter = true) in the Page_Load event using the code shown below:
        string eventTarget = Request.Params.Get("__EVENTTARGET");
        if (IsPostBack && eventTarget == btnAdd.UniqueID)
            grd1.ShowFooter = true;

Open in new window

0
 
KavyaVSAuthor Commented:
Hi,
This code is not working for me.
protected void ImageButton_Clicked(object sender, ImageClickEventArgs e)
{
                             grd1.ShowFooter = true;
}

I tried this in the page load.But this line is not turning to true if (IsPostBack && eventTarget == btnAdd.UniqueID).
So not entering here  grd1.ShowFooter = true;
 string eventTarget = Request.Params.Get("__EVENTTARGET");
        if (IsPostBack && eventTarget == btnAdd.UniqueID)
            grd1.ShowFooter = true;


I am populating this grid in the Grid Row command of another Grid.When the Linkbutton in another Grid row is clicked it is populating this Grid.
There are 2 grids in the page.The 1st grid populating in page load.

Thanks
0
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

 
Miguel OzSoftware EngineerCommented:
Please add a breakpoint at:
if (IsPostBack && eventTarget == btnAdd.UniqueID)
and report the following values after you clicked the button:
IsPostBack
eventTarget
btnAdd.UniqueID
0
 
guru_samiCommented:
ShowFooter will tell you if the Footer show be there or not.

1: Set ShowFooter="true" for the Gridview in your markup.

2: Set the visibility of FooterRow like this:

protected void Page_Load(object sender, EventArgs e)
    {
        grd1.FooterRow.Visible = false;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        grd1.FooterRow.Visible = true;
    }

Open in new window

0
 
KavyaVSAuthor Commented:
Thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

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