einen Parameter auswählen Verwendung für die ODS die Filtervariable zu halten. Objektmethode
<asp:ObjectDataSource ID="odsResults" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="GetSearchResults"
TypeName="LiftSearchResults" SortParameterName="sortType">
<SelectParameters>
<asp:Parameter Name="liftID" Type="Int32" />
<asp:Parameter Name="sortType" Type="String" />
<asp:Parameter Name="range" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
Daten:
[DataObjectMethod(DataObjectMethodType.Select, false)]
public List<SearchResultsLift>
GetSearchResults(
int liftID,
string sortType,
int range
)
{
List<SearchResultsLift> returnList =
new List<SearchResultsLift>();
...Code to populate list...
if (range != 0)
returnList = FilterByRange(returnList, range);
returnList = GetListSort(returnList, sortType);
return returnList;
}
Wenn der Bereichsparameter explizit auf der Seite gesetzt wird 0 zurück, und alle Datensätze zurückgegeben werden. GetListSort (nicht gezeigt) ist eine Sortierfunktion.
private List<SearchResultsLift>
FilterByRange(List<SearchResultsLift> filterList, int range)
{
var fList = (from srl in filterList
where
srl.DistanceFromDestination <= range &&
srl.DistanceFromStart <= range
select srl).ToList<SearchResultsLift>();
return fList;
}
}
Sorry, der Titel der Frage sagt "Sortieren", aber ich meinte eigentlich Filterung. – user479843
Dann verwenden Sie Bearbeiten .. –
habe nicht daran gedacht .. ich habe es aktualisiert. – user479843