Ich habe ein Datagrid, wo ich die benutzerdefinierte Paging-Option (Ref: http://subsonicproject.com/querying/webcast-using-paging/) im Subsonic-Framework verwenden.Subsonic-Paging-Auftrag Problem
Ich habe auch ein Dropdown, das die Daten nach Status filtert. Dies wird der Abfrage über den Aufruf addwhere hinzugefügt.
Die Daten werden nach Status ASC und dann Stadt ASC sortiert.
Die Daten scheinen in Ordnung zu sein, wenn kein Zustand ausgewählt ist und daher kein addwhere zur Klausel hinzugefügt wird. Wenn Sie jedoch einen Status auswählen, der über genügend Datensätze verfügt, um die Seitennumerierung zu aktivieren, werden einige Datensätze nicht in der richtigen Reihenfolge angezeigt. Ich habe auch bemerkt, dass es immer scheint, dass die letzten paar Datensätze auf der aktuellen Seite irgendwo in der Mitte des Rasters angezeigt werden.
Code-Snippet Loadgrid:
Dim qry As New SubSonic.Query({myTableSchema})
If ddlStates.SelectedValue.Trim.ToLower <> "all states" Then
qry.AddWhere("state", ddlStates.SelectedValue.Trim)
End If
qry.ORDER_BY("state", "ASC").ORDER_BY("city", "ASC")
qry.PageSize = ddlDisplay.SelectedValue
qry.PageIndex = pageNumber
gvOrganizers.DataSource = qry.ExecuteDataSet
gvOrganizers.DataBind()
Das Problem ist nicht zu erscheinen scheint, wenn ein Zustand ausgewählt ist, und es gibt nur 1 Seite von Daten. Die Standardeinstellung für ddlDisplay ist 100 Datensätze pro Seite. Der Fehler wird jedoch angezeigt, selbst wenn 50 oder 25 ausgewählt wurde.
Mit Subsonic 2.1.0.0