Forms Data Controls :: GridView Sorting, Paging And DataBinding / When Control Causes A Postback GridView Is No Longer Sorted?
Jan 10, 2011
I'm trying to extend the GridView control to enable sorting and paging for any situation.
When using my control I am fetching data from a database and filling a DataSet with it, then binding the GridView upon every page load. My first question would be, is this the correct approach?
To sort the GridView I am overriding the OnSorting method which stores the sort expression and direction in the ViewState, then creates a DataView and utalises the Sort method to sort the underlying data. It then sets the Data Source to this DataView and rebinds the GridView.
Paging is handled by OnPageIndexChanging which simply sets the PageIndex property and again rebinds the GridView.
My problem is; when any control causes a postback my GridView is no longer sorted, presumably because it is persistently rebound. If I don't rebind it then the GridView is empty on postback since the data isn't automatically stored in the ViewState. I have considered saving the data source in the ViewState but I would assume that this is bad practice for large amounts of data? - also DataViews are not seralisable.
The only solution I can think of currently is to override OnDataBound and sort the data every time. This results in a double sort when paging triggers a postback which seems inefficient. Code illustration of this below,
[Code]....
I'm looking for the cleanest 'best practice' solution as this is a learning exercise more than anything else.
View 12 Replies
Similar Messages:
Jul 18, 2010
Moderators Note: THIS ISSUE IS BIG FOR ME AND EVEN IF POSSIBLE, GET THE REPLY FROM THE DESIGNER OF GRIDVIEW. I have been looking for him for long. I am really fed up with reviewing a good lot of web pages on how we can possibly customize the gridview to enable sorting and paging. So many sites have listed out a lot of information and so many guidances. But the problem is that one works out fine and the other is a burden. I really feel bad about being given the job of customizing this kind of a gridview which has no user friendly approach to it. Also, this control is rendered without the pager links inside the <tfoot> tag. I have tried the Pear Pager in php. It is that good and easy to use and compared to that, the gridview in asp.net is the worst ever control i have ever tried so far.
1. i can use the images to indicate the sorting direction
2. I can have the custom pager like
[code]
<<Previous 1 2 3 .. 7 Next >>.
[/code]
When i click the next when i am viewing the page at 3 , the pager links should change as
[code]
<<Previous 2 3 4 .. 7 Next >>
[/code]
Kindly look into this type of requirement and firstly tell me whether this is possible with the gridview control. I would like this request even to be escalated to the designers of the gridview control also, so that Microsoft comes out with a reply THAT WORKS and not the kind of stuff like surfing through a lot of links and pages and finally wasting a lot of days precious time and still breaking the head with this useless control. I have spent a lot of time in searching for a perfect way. Not writing a code that is non-standard. I am really serious b'cos I have spent weeks in customizing this control. If I dont get a solid reply atleast now, I am going to generate all the output by HTML content by custom coding.
View 7 Replies
Feb 23, 2010
I am binding DataView data to GridView and using paging and sorting mechanism of the GridView.
In case of sorting, I define the sort expression based on user's selection and assign the same to DataView and then bind the same to GridView.
Issue:
Everytime I sort the DataView, I see different set of rows on the same page on GridView. The issue is, the column which is used in sorting has many rows with same values. So everytime I sort DataView using sort expression and bind it to GridView, it displays different sets of rows and sorts randomly.
What should I do to make sure that it always display same rows? I cant change the sorting expression as it is selected by the user. Or only way is to append sort expression containing unique key internally ?
I need the consistent set of rows as I am operating on rows selected by users and make them editable and allow user to udate values and display the same.
View 3 Replies
Jan 12, 2011
how to set paging and sorting to true in gridview
[Code]....
View 4 Replies
Aug 2, 2010
I need to create a dynamic gridviews with pagind ans sorting events .I tried like this
foreach (DataTable table in dsDynamic.Tables)
GridView gv = new GridView();
gv.ID = "gv" + table.TableName;
gv.SkinID = "grid";//theme for gridview.this theme has the gridview page size 5
[code]...
View 4 Replies
Jan 14, 2011
I am trying to sort and page a dataset/table.
Problem: it will sort and paging correctly but when after change a page, it will not display the corrected sorted order.
Protected Sub PFTGridView_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs) Handles PFTGridView.PageIndexChanging
Dim PFTObj As New PFT
Dim PFTDST As New Data.DataSet
[Code]....
View 4 Replies
Jan 17, 2011
I have a problem with the allow paging and sorting in the gridview. I have a button to export the gridview data to excel and I need to disable the paging and sorting in code behind. When I export to excel it have the link numbers of the paging and the column header as a link to sorting. I'm using VB.
[Code]....
I don't get the paging and sorting disable.
View 3 Replies
Feb 3, 2011
I modified my gridview to include paging and it messed up my sorting.See a sample code below and it is not working unfortunately
[Code]...
View 4 Replies
Aug 11, 2010
I've reviewed a couple other sources and none seem to be complete, there is always a 'oh, ya, but you have to do this if you have this, or comments left about it not working etc... So this is my attempt to get a complete answer in one place. No datasourceControl, datasource being assigned programatically upon a button click event. My button click event that originally binds data to the gridview looks like this:
[Code]....
and of course the first code I try to implement the paging, doesn't work. Which is this:
[Code]....
the result is not an error, just an empty gridview. What am I missing? That's just an example of most of the examples out there saying how simple it is and you only need a few lines of code being wrong, or maybe not wrong, but incomplete. So I'm not going to even bother with the bidirectional sorting examples I came accross as there are usually comments about it not working, or not actually being bidirectional. I'm sure it is simple, once you actually have the information you need, getting that information is the harder part. So, anyone here care to take a shot at a complete example of implementing paging and bidirectional sorting on a gridview when not using a datasourceControl?
View 6 Replies
Feb 4, 2010
ObjectDataSource - Custom Gridview Paging and Sorting?
View 2 Replies
Mar 20, 2010
on my WebApplication I have GridViews filled with a LinQ-Query. Like this
Dim teamA = (From t
In datacontext10.T_TEAM
Where t.group =
"A"
Order
By t.sort)
GridViewA.DataSource = teamA
GridViewA.DataBind()
Now I want do enable automated Sorting and Paging? How could that work? Could I use a ObjectDataSource? Which control could do that for me?
View 2 Replies
Apr 12, 2010
I have been researching this issue for a couple of days and have found a lot written about it, but none of what I have found has fixed the problem I am having.
I work for a school system, and my principals are wanting to take a list of the staff members at their school and create staff lists for different activities they perform. I thought I would load the staff into Gridveiw1, and when they select a record have it move over into Gridview2 and "delete" from Gridview1.
I am loading my full staff into a datatable (SQL Server backend), and setting this datatable as my gridview1 datasource. At this point, it loads great, and cosmetically speaking sorts and pages fine. The problem occurs in the codebehind after a Sort or Page change has occurred -- when I select a record and move it over into Gridview2, it is moving the original record that was at that postion on Page 1 instead of the sorted or "new page" record.
So if the initial list comes in as:
Teacher 1
Teacher 2
Teacher 3
The sort button is hit so that the list now starts out like:
Teacher 7
Teacher 13
Teacher 5
If they select "Teacher 13" to be moved over after the sort, instead it is still moving over "Teacher 2" -- the initial teacher in that index before the sort.
The Gridview setup on my aspx page looks like this:
[Code]....
My codebehind:
[Code]....
View 2 Replies
May 7, 2015
perform the paging and sorting in grid view programatically..
View 1 Replies
May 7, 2015
Alphabetic paging in GridView from [URL] ....
but for searching in Hindi of my web page my problem is
LinkButton अ
LinkButton आ
अ आ इ ई ऊ
-----------------------------------------
EmpID EmpName
1 अमर
2 अमीर
------------------------------------------
Press Linkbutton A to Search belong to EmpName A just like these portel to find people record..........
View 1 Replies
Dec 24, 2010
here's a situation and I would appreciate your response.
I have programmatically created the Wizard control:
Page_Load(obj s, evargs e)
{
Wizard ClaimDetailWizard = new Wizard();
foreach(int item in selectedItems)
{
//create new step
//added custom control to new step
//add step to wizard
}
//added wizard to a placeholder on a page
}
Based on List I get from Session i added new steps to my wizard To each step I had added a custom control
Each custom control in tern contains another custom Gridview Control in it.
So here's the problem when the page loads for example for two steps. All is good Wizard does what it's supposed to do.
But when I try to use sorting or paging in that custom Gridview. Somehow it displays the gridview I should see in the next step of the wizard.
Also what I'm noticing through debugging. Is that when I press next in the wizard I go back to the original page where I do all of the code specified above, and it recreates the wizzard. But it goes to the next step. Is this the way wizard supposed to work? Just doesn't seem very efficient.
View 1 Replies
May 3, 2010
I have a strange problem. I have made a PagedRepeater control, which inherits from the Repeater, from a tutorial I saw here: http://www.4guysfromrolla.com/articles/020905-1.aspx. It's in VB and I'm in C#, and it didn't quite have all the features I was lookingfor, so, I've modified it quite a bit. I added support for a SqlDataSource control, as well. The only problem is, that it always returns the first item from the SqlDataSource, even when the CurrentPageIndex on the PagedDataSource is set to a different value.
View 1 Replies
Apr 14, 2010
I want to use a gridview with sorting and paging to display data from an SQL server, the query uses 3 joins and the full text search containstable. The from part of the query uses all 3 tables in the join.What is the best way to do this? I can think of a stored procedure, SQL directly in the SQLDataSource and creating a view in the database.I want good performance and would like to leverage the automatic sorting and paging features of the gridview as much as possible.
Edit:About size, I suspect very few records, total about 1000 and a query would typical result in no more than 100 records and most times much less.
View 4 Replies
Oct 19, 2010
Am trying to use sorting and paging using a Asp.net DataList Control.....I found a Tutorial at asp.net website, but not able to understand that. I found other two links ,which exactly is of my need...but the only thing is that , it is in VB...[URL]
But Am working with C# I wanna Use Sorting & Paging For this
[Code]...
[Code]...
View 3 Replies
Jan 27, 2010
I am databinding a SqlDatasource to a GridView in 2 different ways.
1) Declaring the SqlDatasource in the .aspx page and setting the DatasourceID property on the GridView to its id
2) Creating the SqlDatasource in the code behind and binding to the datasource property
When I use the declarative method (1), sorting works fine without any extra work on my part, but If I create the SqlDatasource in the code behind and try to sort, I get an exception saying 'The GridView 'myGridView' fired event Sorting which wasn't handled'.
I assume that there is some sort of extra plumbing that occurs when using the first method. Does anyone know what the datasourceid method does that the programmatic one doesn't? I would like to duplicate the logic in the code behind if possible.
View 1 Replies
Nov 5, 2010
I have a gridview that's inside a .ascx control that's dynamically embedded into another .ascx control, which is then called by a web form. The gridview will initially bind, but when any paging/sorting/command events are then triggered, I can't get any breakpoints inside the events to kick off. Additionally, when I look at the code-behind in the now-blank page, I see the old data sitting there.
what on earth is going on here? For edification, the .ascx page with the control is excerpted.
Parent .ascx control:
[code]...
View 1 Replies
Jul 28, 2010
I am using 5items inside one template field & Grid Contains only one Column.Plz Tell me how to do sortingbased on the onefield(i.e,Date&time field) out of the 5.The main logic i want implement is Most recent dated item shound come first.Kindly help me soon.asap. Awauiting[Edit - Split from closed thread: Enable Sorting in a GridView control]
View 9 Replies
Jun 22, 2010
I have a gridview which sources information dynamically from database.Here when i go for the default "AllowSorting" flag equal to true, i am able to achieve sorting of all displayed columns except the textBox control column whose values refreshes to zero.
View 5 Replies
May 18, 2010
I see from google that this is a common problem. I have a SQL server database that contains 26 rows of data. Two columns, the first is PK and an identity column (keys numbered 1 to 26) and the second column is a text field (nchar(10)) containing a letter of the alphabet (A..Z). The letters were inserted randomly to simulate sql being unsorted by default. I have a query that returns all of the data ordered by the letter column ascending. If I execute the query in sql server I get 26 rows orderd A..Z.
I have a gridview that is set up for paging (page size = 15) and sorting. When sorting is disabled, all data is correctly displayed on the gridview, 15 rows on the first page, 11 rows on the second page.
If I enable sorting, I get 15 rows on the first page and 11 rows on the second page, however on closer examination I find two letters missing and two letters duplicated on both pages. If I navigate to page two, then back to page 1 I find that the data is then shown correctly and the missing letters are back.
Has anyone struck this issue? I am thinking that the sort is not being initialized correctly, but am not sure where to look.
View 2 Replies
Mar 1, 2010
I am building a SortedList object for use as the DataSource of a GridView control. The key-value pairs are being built manually with the "key" fields being inserted in already sorted order. The "key" column is invisible with the "value" column the single displayed data item. I set the DataSource property of the gridview to the sortedlist and call the Bind method. The gridview then displays the data in random fashion!
View 4 Replies
Jan 26, 2011
So I have a gridview that is sortable. I also have enabled it to export to excel. The problem is that it exports the original datasource and not the sorted data on the screen. What I need is when the export control is fired, the exact gridview or newly sorted gridview is sent to an Excel spreadsheet. Here what my excel export looks like:
[Code]....
View 4 Replies