Solved

GridView footer is not showing up

Posted on 2013-01-07
6
1,059 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
6 Comments
 
LVL 15

Assisted Solution

by:navneethegde
navneethegde earned 50 total points
ID: 38752974
0
 
LVL 35

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
ScreenConnect 6.0 Free Trial

At ScreenConnect, partner feedback doesn't fall on deaf ears. We collected partner suggestions off of their virtual wish list and transformed them into one game-changing release: ScreenConnect 6.0. Explore all of the extras and enhancements for yourself!

 
LVL 35

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

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Media.Imaging 1 18
Keyboard 2 34
Where did System.Data.Objects go? 2 27
Linq asp.net mvc 13 10
A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

809 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