Solved

GridView footer is not showing up

Posted on 2013-01-07
6
1,194 Views
Last Modified: 2013-01-14
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
Comment
Question by:KavyaVS
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 15

Assisted Solution

by:Navneet
Navneet earned 50 total points
ID: 38752974
0
 
LVL 36

Accepted Solution

by:
Miguel Oz earned 300 total points
ID: 38753207
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
 

Author Comment

by:KavyaVS
ID: 38754929
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
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

 
LVL 36

Assisted Solution

by:Miguel Oz
Miguel Oz earned 300 total points
ID: 38757034
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
 
LVL 41

Assisted Solution

by:guru_sami
guru_sami earned 150 total points
ID: 38760747
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
 

Author Closing Comment

by:KavyaVS
ID: 38774807
Thanks
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

630 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question