Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

GridView footer is not showing up

Posted on 2013-01-07
6
Medium Priority
?
1,284 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:Navneet
Navneet earned 200 total points
ID: 38752974
0
 
LVL 36

Accepted Solution

by:
Miguel Oz earned 1200 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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 36

Assisted Solution

by:Miguel Oz
Miguel Oz earned 1200 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 600 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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Hello there! As a developer I have modified and refactored the unit tests which was written by fellow developers in the past. On the course, I have gone through various misconceptions and technical challenges when it comes to implementation. I would…
Loops Section Overview
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…
Suggested Courses

885 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