Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Gridview AllowSorting causing a problem

Reply
Thread Tools

Gridview AllowSorting causing a problem

 
 
Julia B
Guest
Posts: n/a
 
      11-03-2009
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
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
AllowSorting dosn't work Samuel Shulman ASP .Net 2 06-13-2006 08:48 PM
AllowSorting = True, BUT Web DataGrid Wont Sort tony010409020622@spamthis@hotmail.com ASP .Net Datagrid Control 1 09-29-2005 08:18 PM
dynamic datagrids and allowsorting Dan Dorey via .NET 247 ASP .Net Web Controls 0 08-04-2004 11:47 AM
DataGrid.AllowSorting and CssClass =?Utf-8?B?a2g=?= ASP .Net 3 08-02-2004 11:33 PM
Export datagrid(with allowsorting) to Excel Cowboy \(Gregory A. Beamer\) ASP .Net 6 07-04-2003 12:21 AM



Advertisments