Solved

How to prevent a Gridview to display on page_load

Posted on 2009-05-08
4
272 Views
Last Modified: 2012-05-06
I have a Gridview that is displayed directly when you enter the page.

I want it to show first when I submit a button.....

I've tried to set it to Visible="false" and to "True" when I submit the button but this is'nt a good solution.
<asp:GridView ID="GridView2" Visible="false" DataKeyNames="EventId,AttendeeID" Width="700px" 
                        runat="server" AllowPaging="True" PageSize="30" AutoGenerateColumns="False" 
                        DataSourceID="SqlDataSource1" AllowSorting="True">
                        <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <Columns>
                    <asp:BoundField DataField="Fname" HeaderText="First Name" SortExpression="Fname" 
                    ItemStyle-Width="150px" >
                    </asp:BoundField>
                    <asp:BoundField DataField="Lname" HeaderText="Last Name" SortExpression="Lname" 
                    ItemStyle-Width="150px" >
                    </asp:BoundField>
                    <asp:BoundField DataField="EMail" HeaderText="e-mail" SortExpression="EMail" 
                    ItemStyle-Width="200px" >
                    </asp:BoundField>
                    <asp:BoundField DataField="RegDate" HeaderText="Registered (UTC)" 
                        SortExpression="RegDate" ItemStyle-Width="150px" >
 
                    </asp:BoundField>
                    
                    <asp:TemplateField ShowHeader="false" ItemStyle-Width="25">
                        <ItemTemplate>
                            <asp:HyperLink ID="myHyperLink" runat="server" NavigateUrl='<%# Eval("AttendeeID", "..\PAGES\AdminEditReg.aspx?atid={0}")%>' ImageUrl="..\..\images\edit.gif" />
                        </ItemTemplate>
                    
                    </asp:TemplateField>
                    <asp:TemplateField ShowHeader="false" ItemStyle-Width="25">
                        <ItemTemplate>
                            <asp:ImageButton ID="button" runat="server" CausesValidation="false" CommandName="Delete" 
                            OnClientClick='return confirm("Are you sure you want to delete?");' ImageUrl="..\..\images\delete.gif" /> 
                        </ItemTemplate>
 
                    </asp:TemplateField>
                </Columns>     
            </asp:GridView>
                </td>
            </tr>
         </table>   
      
        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
 
            ConnectionString="<%$ ConnectionStrings:TestConnectionString %>" 
            
             SelectCommand="SELECT * FROM [Attendees] WHERE ([EventId] = @EventId)" FilterExpression="Fname like '%{0}%'
                or Lname like '%{1}%' or EMail like '%{2}%' " 
             
             DeleteCommand="DELETE FROM [Attendees] WHERE [AttendeeID] = @AttendeeID">
             
                <DeleteParameters> 
                    <asp:Parameter Name="AttendeeID" Type="Int32" />
                </DeleteParameters>
                <SelectParameters>
                    <asp:SessionParameter Name="EventId" SessionField="RegEventId" 
                        Type="Int32" />
                </SelectParameters>
                <FilterParameters>
                    <asp:ControlParameter Name="Fname" ControlID="searchTextBox" 
                        PropertyName="Text" />
                    <asp:ControlParameter Name="Lname" ControlID="searchTextBox" 
                        PropertyName="Text" />
                    <asp:ControlParameter Name="EMail" ControlID="searchTextBox" 
                        PropertyName="Text" />    
                </FilterParameters>
            
        </asp:SqlDataSource>

Open in new window

0
Comment
Question by:mattegol
  • 2
  • 2
4 Comments
 
LVL 18

Expert Comment

by:David Robitaille
ID: 24336739
"I've tried to set it to Visible="false" and to "True" when I submit the button but this is'nt a good solution."
Why? it`s not working you have a philosophic objection against it?
0
 

Author Comment

by:mattegol
ID: 24337643
The user is only going to use the gridview sometimes and I don't wan't to get the database involved if I dont have to. If the gridview has lets say >3000 rows is slows the page down doesn't it?

Otherwise Visible="false" works fine for me...
0
 
LVL 18

Accepted Solution

by:
David Robitaille earned 500 total points
ID: 24337678
then just dont bind it (leave "DataSourceID" blank)
then, whan you set it to visible to true, set the DataSourceID and call databind
GridView2.visible=true
GridView2.DataSourceID ="SqlDataSource1"
GridView2.databind
 
0
 

Author Closing Comment

by:mattegol
ID: 31579343
Thank you, simple solution just like I like it
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Suggested Solutions

Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

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