Forms Data Controls :: Sorting In Gridview Not Working Properly
Feb 3, 2010
have a gridview which i a using for sorting data in it.IT sorts the first time i click on cloumn in ascending order.When i click on column again , i want to sort it in descending order again , but it does not happen ,
whn i click edit button on grid before sorting on any column it is working properly...but once i click on any column for sorting n thn click on edit then the rows get sorted again and edit is set on some other row... plz help me...herez my code..
I also try setting editIndex to -1 in my sort function but that also doesn't work So when I am editing then sort event fire and edit item got change, so edit functionality is not working with sorting
I have a grid view which populates data just for viewing purpose(report) . One field shows the Active/inactive status for which I am showing a checkbox..if data in database is 1 then the checkbox will be checked otherwise it'll not be checked. This field is inactive so that the User does not check/uncheck it. The issue is that this field cannot be sorted. All the fields in the gridview are being sorted.
I have a Gridview for which I have provided Sorting, Edit functionality. I am not able to perform EDIT when I perform Sorting. After sorting edit is set on some other row. I think there is some problem with the index it is taking..
I am trying to put onclientclick on linkbutton in aspx code page but it is not working single quote is showing as ' I try to put the code in RowBound Event of Gridview but still same. I am using .net 4.0
I have a gridview for which i have provided two options one to export grid data and another to import excel data to gridview. I have no problems with the former. In the latter part i want to achieve something like this. When user user exports gridview data to excel and lets say makes some changes i.e there were 10 items he deletes 4 of them. and saves the excel file.Now when he tries to import this excel file i want the checkbox(already present) to be checked for the 6 items of the 10 items in the gridview. how can i accomplish this. To import excel data to gridview i am using this method: In the importtogrid button,
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.
all i am using Datapager control with ListView control in my application.where i bind my list view in page_prerender event. my problem is that Datapager control is showing the page records but when i click on the next page ( i.e. if i am on page 1 then clicked on page 2) it will not responding.
i am using my list view in update panel.is the problem with the update panel?
previously when i binded my Listview on pageload it work's fine.
"Actually i got the problem but i don't know the solution"
problem is that i am using mootools.js files when i disable these file my code is working fine but when ever i use mootools.js files with AJAX it gives me error.and some code is not working properly in my application....
although i had to take the table that has my calculated column and make a view (so i could filter) and then bind the gridview to the view.
My question is as this.
1.) in order to get my calculated field i had to load my data into a table (as suggested)
2.)Add a column to the table and perform calculations
3.)make a dataview from the tables because i could not get the Gridview.datasource= ds.tables("loads").select("Deadhead <= " & sngRadius
4.)the largest of the 3 tables my query is based on contains about 7000 records. The way i have the logic & programming now everytime a new "truck location" is put in the textbox1 and "find loads/button1" is clicked. It calculates the deadhead miles of all 7000 records before filtering. I am filtering based on the deadhead miles.
Does anyone have any recomendation about how to speed this up a bit.
Also in order to get paging to work i had to rebind/filter the data again ... means looping through all 7000 records each time paging is called. This seems terribly ineffecient as i am already forced to use access instead of SQL.
Would i see a performance increase if i installed SQL or mySQL and create linked tables to the ones i use in access. or would access still be the bottleneck?
I don't know if the performance increase would be negligible as i still ultimately be getting the data from Access.
I have posted the entire code for the page below. When i originally started i didn't think there would be to much code so i left it all on one page instead of using code-behind. Would i gain anything by swapping to code-behind now?
I go this code that can so a manual sorting on grid view. The code works fine for "ASC", when I wanted to sort the field to DESC, it never works. Second, it also failed when I switch to another page. Case 1: By default, the column is sorted DESC, then I switch to ASC, works fine, then I switch to DESC, it failed (remain at ASC).Case 2: By default, the column is sorted DESC, then I switch to ASC, works fine, then I switch to other page, it failed (remain at DESC on new page).
How to do the datagrid cell editing? My need is "I want to update the datagrid cell values individually". At that time of editing, i want to pick the values from dropdownlist, calendar,etc.. controls.I tried a code, but its not working properly. I always taking the cell value only, not the control value. H
Gridview Sorting is not Working Since Datatable is Empty
Code: Dim dt As DataTable = TryCast(GRDV.DataSource, DataTable)
above code is returning Empty Gridview ..
code is below
Protected Sub GRDV_Sorting(sender As Object, e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles StudentAssignmentgridview.Sorting 'If showImage = False Then ' showImage = True 'End If
I got a web page, it has a tabcontainer, within each tab, there will be a gridview, all the tabs and gridview are created at run-time, i have only one code, that I will loop through to create all those tabs and gridview. When I apply the sorting, and I click on the column name on any grid, it returned an error saying index was out of bound. BUT, when there is only ONE grid view created, it is working fine, I suspect it mixed up all the grid view's id and so on. But I have assigned different ID to gridview
I have the gridview inside another gridview, i want to sort that both gridviews, I don't know how to achieve using asp.net 3.5 visual studio 2008 c# code behind. Following are my aspx page,
that aspx page contains gridview that contain one more gridview inside in it.Now i want to sort out both the grid i.e)claimgrid and Gdclmline1 i want code in c#.
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.
I have a Gridview for which I have provided Sorting, Edit functionality. I am not able to perform EDIT when I perform Sorting. After sorting edit is set on some other row.
I'm trying to sort GridView but I have problem with converting DataSource to DataTable. Object of DataTable is empty. I don't know how to convert it.Do you have any ideas? Here is my code:
private void SortGridView(string sortExpression, string direction) { DataTable dt = GridViewDzialania.DataSource as DataTable; DataView dv = new DataView(dt); dv.Sort = sortExpression + direction; GridViewDzialania.DataSource = dv; GridViewDzialania.DataBind(); }