Forums
New posts
Search forums
Members
Current visitors
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Menu
Log in
Register
Install the app
Install
Forums
Archive
Archive
ASP .Net
Gridview AllowSorting causing a problem
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
[QUOTE="Julia B, post: 3970708"] Hi all, I've got a gridview bound to an ObjectDataSource which connects to a utility class that runs some SQL to return a dataset. This all works fine and the gridview has the AllowSorting property set to true. This also works fine but causes a knock-on problem. Two of the columns in the gridview are button fields which fire the grid RowCommand to open a file on a shared folder based on some data in one of the row fields, which stores the filename. These open the correct files when the gridview is opened, but if the user sorts the gridview, then when the button field is clicked the wrong file is opened. It seems that the sorting is visual only, i.e. if there are 3 rows numbered 1, 2 and 3 unsorted and the user clicks the button field for row 3, then the correct file for row 3 is opened. However if the user sorts the data so that it is in reverse order (3,2,1) and clicks row number 1 which is now 3rd in the list, then the file for row number 3 opens. Does this make sense? The code for the row command is below: Dim index As Integer Dim selectedRow As GridViewRow Dim filePath As String If e.CommandName = "Changes" Then 'if the user has selected change history, then find the serial number 'of the record and open its change history index = Convert.ToInt32(e.CommandArgument) selectedRow = Me.SearchGrid.Rows(index) Dim serialNumber As String = selectedRow.Cells(3).Text Response.Redirect("ChangeHistory.aspx?SN=" & serialNumber) ElseIf e.CommandName = "OrigRecord" Or e.CommandName = "OrigReport" Then 'if the user has selected to open the original record 'get the selected row index = Convert.ToInt32(e.CommandArgument) selectedRow = Me.SearchGrid.Rows(index) Response.Buffer = False Response.Clear() Response.ClearHeaders() 'now get the record name If e.CommandName = "OrigRecord" Then filePath = selectedRow.Cells(9).Text filePath = Global.Global_asax.linkPath & filePath Response.AppendHeader("Content-Disposition", "attachment;filename=" & System.IO.Path.GetFileName(filePath)) Response.ContentType = "text/csv" Else filePath = selectedRow.Cells(10).Text filePath = Replace(filePath, "&", "&") filePath = Global.Global_asax.linkPath & filePath Response.AppendHeader("Content-Disposition", "attachment;filename=" & System.IO.Path.GetFileName(filePath)) Response.ContentType = "text/plain" End If 'now we've got the full path for the file, open it Response.TransmitFile(filePath) Response.End() Else 'do nothing End If Thanks in advance. Julia [/QUOTE]
Verification
Post reply
Forums
Archive
Archive
ASP .Net
Gridview AllowSorting causing a problem
Top