Solved

How to prevent a Gridview to display on page_load

Posted on 2009-05-08
4
276 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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

821 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