Just nu i M3-nätverket
Gå till innehåll

Sorteringsfunktion


Mr Orange

Rekommendera Poster

Hej!

 

Jag håller på med att lägga till en sorteringsfunktion på en asp.net sida, men det går inte så bra. Hoppas någon på forumet kan hjälpa mig!

 

Så här ser min kod ut:

 

classfil.vb

 

Public Class db

Inherits Page

 

sql = "SELECT * FROM filmer"

 

Sub Sort_Grid(sender As Object, e As DataGridSortCommandEventArgs)

sql = sql & " ORDER BY " & e.SortExpression

End Sub

 

Function visaFilmer()

 

dim dbconn,dbcomm,myDA,myDS

dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb") & ";Jet OLEDB:Database Password=lösenord;")

dbconn.Open()

dbcomm = New OleDbCommand(sql,dbconn)

myDA = New OleDbDataAdapter()

myDA.SelectCommand = dbcomm

myDS = New DataSet()

myDA.Fill(myDS)

 

Return myDS

 

End Function

 

End Class

 

 

filmer.aspx

 

<%@ Page Language="vb" Src="classfil.vb" Inherits="db" Debug="true" %>

 

<html>

<body>

<a href="start.aspx">Tillbaka</a>

<%

customers.DataSource = visaFilmer

customers.DataBind()

%>

 

<form runat="server" method="post">

<asp:datagrid id="customers" runat="server" BorderWidth="0"

CellPadding="2" Width="100%"

Font-Name="Verdana"

Font-Size="Smaller"

AutoGenerateColumns="False"

HeaderStyle-HorizontalAlign="Center"

HeaderStyle-Font-Bold="True"

HeaderStyle-BackColor="Navy"

HeaderStyle-ForeColor="White"

AlternatingItemStyle-BackColor="#dddddd"

AllowSorting = "true"

OnSortCommand = "Sort_Grid" >

<Columns>

<asp:BoundColumn SortExpression="Kategori" HeaderText="Kategori" DataField="Kategori" />

<asp:BoundColumn SortExpression="Film" HeaderText="Film" DataField="Film" />

<asp:BoundColumn SortExpression="Beskrivning" HeaderText="Beskrivning" DataField="Beskrivning" />

 

</Columns>

 

</asp:datagrid>

 

</form>

 

</html>

</body>

 

 

Länk till kommentar
Dela på andra webbplatser

Vad är det som blir fel?

 

/Jocke

 

"Shit! What? Rollers. No? Yeah. Shit!" - Blues Brothers

 

 

[inlägget ändrat 2003-04-02 08:29:13 av jockesoft]

Länk till kommentar
Dela på andra webbplatser

Det blir ingen sortering. SELECT frågan blir hela tiden SELECT * FROM filmer.

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

sql = "SELECT * FROM filmer"

Sub Sort_Grid(sender As Object, e As DataGridSortCommandEventArgs)
sql = sql & " ORDER BY " & e.SortExpression
End Sub

Detta kan vara felet. Du sätter sql = sql & "...", därmed när funktionen kallas nästa gång så finns redan en order by i sql strängen. Gör en baseSQL sätt den till "SELECT * FROM filmer", ändra sedan i din Sort_Grid till

sql = baseSQL & "ORDER....."

det kanske fixar till det.

 

/Jocke

 

"Shit! What? Rollers. No? Yeah. Shit!" - Blues Brothers

 

 

Länk till kommentar
Dela på andra webbplatser

Ändra det här:

Public Class db
Inherits Page

sql = "SELECT * FROM filmer"

Sub Sort_Grid(sender As Object, e As DataGridSortCommandEventArgs)
sql = sql & " ORDER BY " & e.SortExpression
End Sub

 

Till det här:

Public Class db
Inherits Page

baseSQL = "SELECT * FROM filmer"
sql = ""

Sub Sort_Grid(sender As Object, e As DataGridSortCommandEventArgs)
sql = baseSQL & " ORDER BY " & e.SortExpression
End Sub

 

/Jocke

 

"Shit! What? Rollers. No? Yeah. Shit!" - Blues Brothers

 

 

Länk till kommentar
Dela på andra webbplatser

Kör det i debuggern och kolla dina variabler i din Sort_Grid funktion. Kolla vad din sql sträng blir och vad e.SortExpression är, så är det kanske lättare att hitta felet.

 

/Jocke

 

"Shit! What? Rollers. No? Yeah. Shit!" - Blues Brothers

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...