Forms Data Controls :: GridView Using And ObjectDataSource With Paging And Sort While ViewState Is Disabled?
Nov 12, 2010
I am using a GridView with an ObjectDataSource bound to a DataTable. I am using the GridView for displaying a report, NO editing is being done, just read only, however, I am sorting and paging. I need to turn off ViewState for the GridView to improve performance. After turning off the ViewState I start getting the error messages for both paging and sorting:The GridView 'gridView' fired event Sorting which wasn't handled.This is fine I just need to know how to implement the Sorting and Paging events correctly to leveage the ObjectDataSource. I would preffer not to remove the ObjectDataSource from use, especially if there is a way I can manually wire up the datasource correctly to continue to use the GridView as I had been when ViewState was on.Any help on getting the datasource wired up or a solution for handling the events in the context of the datasource would be great.
If I disable the ViewState on a ListView, the events raised by it are no longer ired. OnPagePropertiesChanging is the ListView event I've always used in combination with the DataPager to update the ListView to the correct page once a DataPager item is clicked, but since its not being fired, I'm wondering if there are any other options. My ListView is currently in an UpdatePanel, and I'm caching the results that the ListView is being bound to. I could rebind the cached results on the PageLoad, but I can't think of a good way to determine if the PageLoad is being accessed because the DataPager was clicked, or for some other reason, so this doesn't seem like a good idea
I was able to get the formview bound to the objectdatasource, it works great for the first record, but when i select the next record it gives me error below is all my code, if there is something else that i need to post .
I am using ObjectDataSource controll to bind gridview and using custom paging. Everything working fine but the problem arises when last page contains only one record and i try to delete it-- gridview disappear.
Below is ObjectDataSource declaration..It is working fine..only problem is with deleting from last
Just spent about 8 hours googling and looking through this forum for a solution on how to make sure that I can dynamically sort. Here is the situation.
I have 1 Gridview that displays 10 different scenarios based on what button is clicked.
I am also returning only top 10 records. I am doing all of the data binding pragmatically. So I have BoundFields, HyperLinkFields etc.
I also want to sort some records. When I change DataSource SQL statement the gridview somehow remembers what the last sort value was and it errors out saying that value "x" cannot be sorted because it does not exists.
Here I get an error that says that the data source does not support sorting? Doesnt it say gridview1.allowsorting = false;
I also tried gridview1.sort("", SortDirection.Ascending); This does nothin... except query my database one more time because i have a onSorting event that looks like this:
[Code]....
Here is an example of just one of those SLQ statements inside GetSQLQuery:
I have read many online articles showing how to implement custom paging with stored procedure and objectdatasource control. So I know the benefits of custom paging on large result sets and I know how to implement it.
In my application, I have a stored procedure which is using ROW_NUMBER and taking parameters such as startIndex, pageSize etc. I also have method in my DAL who call this stored procedure and on my page I have GridView and ObjectDataSource control and they are calling DAL methods and everything is working perfectly fine.
Now I want to implement GridView paging without ObjectDataSource control by calling the DAL methods manually. I dont want to use ObjectDataSource control because I need manual access to the DataTable my DAL methods return which I think I dont have if I use ObjectDataSource control.
how to implement paging without ObjectDataSource control
i am building my objectdatasource dynmically when certain buttons are clicked on the page.. and with that the gridview is being displayed with the results of the objectdatasource that was built.
So my gridview code looks like this:
[Code]....
How can i enable sorting and paging if the datasource is being built on button click event?
I started learning LINQ, So i thought of just creating gridview with sorting and paging using objectdatasource using LINQ. So i got this link
[URL] which Brian Orrel tell us how to do using IQueryable Interface. but i have nearly 300 lines of stored procedure which joins nearly 20 tables. so i thought of creating a stored procedure and using that instead of IQuerytable.
I have a shopping cart page (Cart.aspx) that has a button that will (sometimes) post to a third party payment gateway, if payment is necessary. The payment gateway will process the payment and then do a silent post to my website (Order.aspx) so I can update the order status.
Order.aspx always throws an invalid viewstate error, even though viewstate is disabled on the page.
What's happening is that Cart.aspx (which has viewstate enabled) posts to the payment gateway, and the gateway will post it back as part of the silent post. Even though Order.aspx has viewstate disabled and validation disabled, it still tries to validate the __viewstate field it's being given.
I know setting EnableViewState=false will disable the rendering of the __viewstate field, but if another page provides the field, shouldn't it still skip validation? I tried calling ViewState.Clear() on the Page_Init event of Order.aspx, but ViewState is apparently empty. how to get around this? I don't want to disable ViewState on Cart.aspx (in some cases it may be necessary), but I can't figure out how to clear it on Order.aspx.
Is there a way to use the GridView paging and having the links not use JavaScript. So that when you click on the page number 5 (for example) that link is a hyperlink.
I have a repeater which viewstate is disabled, inside i have a textbox and a submit button. Before disabling viewstate i could get the text from the textbox in the submit buttons onClick event. But now it doesnt seem to work.
I dont want to enable viewstate on the repeater as my site get really heavy then. How can I get the value form the textbox when I click the submit button? using .net 3.5
I am having an issue with dropdown list when viewstate is disabled. The selectedindexchanged event fires even for the other events on the page.
I am pasting the code bello. To reproduce the issues I am mentioning change the selected value of the dropdownlist and then click any button the selected indexchanged event fires even thought we didnot change the value.
After witnessing some strange behvior I'm confused about ViewState again :/
My understanding was a textbox needed to have "EnableViewState" set to true otherwise when the you postback the fields contents would disappear.
That's not happening, I created a textbox and button and a label.
The button was set to copy contents of text box into the label when I pressed it.
I did and the text was populated into the label and remained in the textbox?
This was inside an UpdatePanel and the page itself has a MasterPage, so that might have something to do with it, but I have about 50 textboxes on this page all with viewstate=true on, so I would really like to know what controls need to have enableViewstate=true in order o function properly.
I have a gridview with data. I want a button which is not part of the gridview. Then if I press a button the gridview is sorted by two colums. i.e column1 ascending column2 descending.
I am not looking to work with a Sqldatasource as I use a data access layer. So the sort would have to be from a datatable and databind or directly with the gridview.
I'm facing a wierd problem with GridView and ObjectDataSource. I bind GridView to my business objects via ObjectDataSource. Everything was working fine until I decided to add a new field in my buisness object and wanted to add a column to GridView to show it. Somehow that column is NOT shown in the GridView's list of available columns. I have tried refreshing schema, rebinding, etc. I'm using GridView inside a user control which is used as a web part. Does that make a difference ?
I want to create simple rating page where player's place,name and rating is displayed. I've created database with ID,Name and Rating Columns, binded Gridview to this database and created TemplateField "Place". With following code I've created numbered list for Place:
protected void Page_Load(object sender, EventArgs e){ for (int i = 0; i < GridView1.Rows.Count; i++)
I'm a newbie to .NET, so the solution might be really trivial. I have a database, I have an Entity Data Model, I add in my Index.aspx page an EntitryDataSource and a GridView. I connect them and everything works fine (the data is displayed as expected). The problem is that clicking on the coulmn name or on the pagination lists doesnt do a thing... Although I did set the properties AllowSorting="True" and AllowPaging="True". I also tried with another datasource type (SqlDataSource) and the same problem.