Paging-enabled GridView disappears at postback

A

antonyliu2002

I've been googling for some time, and could not find the solution to
this problem.

I am testing the paging feature of gridview. I have a very simple web
form on which the user can select a few fields to be included in the
table, which is to be bound to the gridview.

The web form looks like so (Don't worry about the stupidity of this
web form for now.):

Check stuffs you wanna include in the table:

[] Customer ID
[] Customer Last Name
[] Customer First Name
[] Customer Email
[] Customer Phone

[Click this button to show the table]

[---- the paging-enabled gridview is right here ------]

The gridview is declared like so:

<asp:GridView ID="GridView1"
EnableViewState="true"
EnableSortingAndPagingCallbacks="true"
DataSourceID="SqlDataSource1"
runat="server"
AllowPaging="True"
AllowSorting="true">
</asp:GridView>

In the code-behind (in C#), I pass the programmatically created SQL
select command to the SqlDataSource like so:

SqlDataSource1.SelectCommand = theSelectCommandCreatedOnTheFly;

Now, after the user clicks the button to create the customer report,
the gridview is populated with customer data with the expected fields.

But, when the paging index is clicked, the gridview disaapears. One
short note from a blog says that gridview will disappear between
postbacks. So, this might be the cause.

I guess I don't need to implement a GridView1_OnPageIndexChanging
method to handle the paging event since I don't think I am manually
binding the gridview to the dataset.

How do we handle this problem? Thanks.
 
G

Guest

I've been googling for some time, and could not find the solution to
this problem.

I am testing the paging feature of gridview. I have a very simple web
form on which the user can select a few fields to be included in the
table, which is to be bound to the gridview.

The web form looks like so (Don't worry about the stupidity of this
web form for now.):

Check stuffs you wanna include in the table:

[] Customer ID
[] Customer Last Name
[] Customer First Name
[] Customer Email
[] Customer Phone

[Click this button to show the table]

[---- the paging-enabled gridview is right here ------]

The gridview is declared like so:

<asp:GridView ID="GridView1"
EnableViewState="true"
EnableSortingAndPagingCallbacks="true"
DataSourceID="SqlDataSource1"
runat="server"
AllowPaging="True"
AllowSorting="true">
</asp:GridView>

In the code-behind (in C#), I pass the programmatically created SQL
select command to the SqlDataSource like so:

SqlDataSource1.SelectCommand = theSelectCommandCreatedOnTheFly;

Now, after the user clicks the button to create the customer report,
the gridview is populated with customer data with the expected fields.

But, when the paging index is clicked, the gridview disaapears. One
short note from a blog says that gridview will disappear between
postbacks. So, this might be the cause.

I guess I don't need to implement a GridView1_OnPageIndexChanging
method to handle the paging event since I don't think I am manually
binding the gridview to the dataset.

How do we handle this problem? Thanks.

sound's like you don't bind your grid after postback

Can you please tell us where you do bind it (sample code)?
 
A

antonyliu2002

I've been googling for some time, and could not find the solution to
this problem.
I am testing the paging feature of gridview. I have a very simple web
form on which the user can select a few fields to be included in the
table, which is to be bound to the gridview.
The web form looks like so (Don't worry about the stupidity of this
web form for now.):
Check stuffs you wanna include in the table:
[] Customer ID
[] Customer Last Name
[] Customer First Name
[] Customer Email
[] Customer Phone
[Click this button to show the table]
[---- the paging-enabled gridview is right here ------]
The gridview is declared like so:
<asp:GridView ID="GridView1"
EnableViewState="true"
EnableSortingAndPagingCallbacks="true"
DataSourceID="SqlDataSource1"
runat="server"
AllowPaging="True"
AllowSorting="true">
</asp:GridView>
In the code-behind (in C#), I pass the programmatically created SQL
select command to the SqlDataSource like so:
SqlDataSource1.SelectCommand = theSelectCommandCreatedOnTheFly;
Now, after the user clicks the button to create the customer report,
the gridview is populated with customer data with the expected fields.
But, when the paging index is clicked, the gridview disaapears. One
short note from a blog says that gridview will disappear between
postbacks. So, this might be the cause.
I guess I don't need to implement a GridView1_OnPageIndexChanging
method to handle the paging event since I don't think I am manually
binding the gridview to the dataset.
How do we handle this problem? Thanks.

sound's like you don't bind your grid after postback

Can you please tell us where you do bind it (sample code)?- Hide quoted text -

OK, thanks a lot. I actually mentioned it in my original post. I have
a SqlDataSource control and the GridView is bound to it in the
declaration. I repeat the GridView declaration here:

<asp:GridView ID="GridView1"
EnableViewState="true"
EnableSortingAndPagingCallbacks="true"
DataSourceID="SqlDataSource1"
runat="server"
AllowPaging="True"
AllowSorting="true">
</asp:GridView>

In the code behind, the only thing I programmatically do is to assign
the select command to SqlDataSource1 like so:

SqlDataSource1.SelectCommand = theSelectCommandCreatedOnTheFly;

In other words, I don't have anything in code-behind that mannually
binds the data to the gridview, nothing in my code-behind is like
getting a DataSet, SqlDataAdapter, Fills the DataSet, DataBind the
GridView.

That's why I also mentioned that I probably don't have to implement a
method GridView1_OnPageIndexChanging since I am not manually binding
the GridView. I might be wrong, but please advise. Thanks again.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top