TopperMedlem sedan apr. 200531 inlägg Hej!
Har problem med sökningen på https://www.cylindern.se då det på tex "Säljes" bara går att söka på sida 1.
Går inte heller sortera åt båda hållen när man klickar på rubriken. Ngn som kan ge ngt intressant tips på hur vi ska göra?
Snälla....(ni kan få några gratis annonser om ni lyckas ;) )
ironheadMedlem sedan mars 20011 346 inlägg Jag fick Runtime Error när jag försökte söka:
Jaha, var nog för att jag hade bytt sida....som du skrev ovan...vad bra man läser :-/
Hur är din sökfunktion uppbyggd? Lite kod?
Länk till Datagrid-sortering:
http://www.devx.com/vb2themax/Tip/18859
TopperMedlem sedan apr. 200531 inlägg Okej här kommer lite kod på hur det ser ut just nu.
<script runat="server">
protected strSQL As String = "SELECT Datum, Rubrik, Märke, Modell, Årsmodell, Län, Pris, Lank FROM Saljes"
Sub Page_Load(Source As Object, E As EventArgs)
If Not Page.IsPostBack Then
lblSQL.text= strSQL
BindData()
End If
End Sub
Sub sokFunc(sender As Object, E As EventArgs)
Dim searchQuery As String = "SELECT Datum, Rubrik, Märke, Modell, Årsmodell, Län, Pris, Lank FROM Saljes WHERE Modell LIKE '%"& Form1.Text &"%' OR Rubrik LIKE '%"& Form1.Text &"%' OR Märke LIKE '%"& Form1.Text &"%' OR Datum LIKE '%"& Form1.Text &"%' OR Årsmodell LIKE '%"& Form1.Text &"%' OR Län LIKE '%"& Form1.Text &"%' OR Pris LIKE '%"& Form1.Text &"%' "
lblSQL.text = searchQuery
BindData()
End Sub
Sub BindData()
Dim ds As New DataSet
Dim da As oledbDataAdapter
Dim strConn as string = ("Provider=" & _
"Microsoft.Jet.OLEDB.4.0;" & _
"Data source=" & server.mappath("databas.mdb"))
da = New oledbDataAdapter(lblSQL.text, strConn)
da.Fill(ds, "Saljes")
myDataGrid.DataSource = ds.Tables("Saljes")
myDataGrid.DataBind()
End Sub
Sub Paging_Click(Source As Object, E As DataGridPageChangedEventArgs)
myDataGrid.CurrentPageIndex = E.NewPageIndex
BindData()
End Sub
Sub Sorting_Click(Source As Object, E As DataGridSortCommandEventArgs)
lblSQL.text = strSQL & " ORDER BY " & E.SortExpression
BindData()
End Sub
Sub myDataGrid_SelectedIndexChanged(sender As Object, e As EventArgs)
End Sub
</script>
HTML
<asp:TextBox id="Form1" runat="server"></asp:TextBox>
<asp:Button id="Button1" onclick="sokFunc" runat="server" Text="Sök"></asp:Button>
(Fungerar just nu bara på sidan 1)<br />
<br />
Genom att klicka på respektive rubrik så sorteras det.
<br />
Gå till nästa sida genom att klicka på siffrorna till höger.<br />
<br />
</p>
</td>
</tr>
<tr>
<td valign="top" colspan="0" rowspan="0" border="0">
<img src="hemsidebilder/streck.jpg" /></td>
</tr>
<tr>
<td valign="top">
<asp:Label id="lblSQL" runat="server" visible="False"></asp:Label>
<asp:Datagrid id="myDataGrid" runat="server" OnSelectedIndexChanged="myDataGrid_SelectedIndexChanged" Font-Size="10pt" Font-Name="Verdana" backcolor="#DBE8FD" Border="0" Cellpadding="4" CssClass="DataGrid" HeaderStyle-Font-Bold="True" AllowSorting="True" OnSortCommand="Sorting_Click" AllowPaging="True" OnPageIndexChanged="Paging_Click" PagerStyle-Mode="NumericPages" PagerStyle-HorizontalAlign="Right" Width="700px" PageSize="30">
<AlternatingItemStyle backcolor="White"></AlternatingItemStyle>
<HeaderStyle font-bold="True" forecolor="Black" backcolor="#DBE8FD"></HeaderStyle>
<PagerStyle nextpagetext="" prevpagetext="" horizontalalign="Right" position="TopAndBottom" mode="NumericPages"></PagerStyle>
</asp:Datagrid>
TopperMedlem sedan apr. 200531 inlägg Jag har suttit med problemet lite och kommit fram till att problemet med sökmotorn beror på en sak.
Att är man på sidan 2 och söker på något som bara kommer upp på sidan 1 så blir det fel. Det går inte vara på en sida som inte (när sökresultatet kommer) "finns"
Får då detta felmedelande "It must be >= 0 and < the PageCount"
Någon som vet ngt om det...
KrompMedlem sedan okt. 2002103 inlägg Du måste nollställa myDataGrid.CurrentPageIndex när sökning görs...
Sorteringen tror jag är enklast att lösa med att kolla vilken sortering som är gjord och om det är asc så sätta desc och tvärtom - eller göra egna buttons i huvudet för varje möjlig sortering eller kanske en dropdownlist?
TopperMedlem sedan apr. 200531 inlägg Nollställa datagriden låter som det kan vara en lösning ju...:e
Hur gör jag detta rent kodmässigt?