Hallo,
ich habe eine Repeater in meiner aspx Seite, der sieht so aus:
<asp:Repeater ID="rptVersions" OnItemDataBound="rptVersions_ItemDataBound"
runat="server">
....
</asp:Repeater>
In der Codebehind gebe ich dann die Datenquelle folgendermaßen an:
rptVersions.DataSource = methode(param);
Wie kann ich jetzt die Sortierung hinzufügen? Ich habe es schon so versucht, klappt aber nicht, er kommt an der Stelle nicht lang.
protected void rptVersions_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.Arguments.SortExpression = "versionnumber";
}
Habe ich was vergessen?
Danke
Hallo math55
Wieso sortierst du nicht schon die Datenquelle, das wäre wesentlich einfacher als da gross was drum rum zu bauen.
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Kam auch schon auf die Idee, funzt aber ebenso nicht wirklich:
dt.DefaultView.Sort = "SubversionNumber, SubversionDate";
Ändert sich nix in der Anzeige, weder mit ASC noch mit DESC...sollte aber so funzen, richtig? Kann es daran liegen, dass er Datumsangaben der Art 30.12.2009 bzw. Nummernangaben der Art 2.34.6 nicht richtig sortieren kann?
Grüße
Hallo math55
Was ist deine Datenquelle?
Eine DataTable?
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Ich habe jetzt was erreicht. Ich habe jetzt diesen Code und er sortiert auch:
DataTable dt = method(param);
dt.DefaultView.Sort = "VersionDate";
rptVersions.DataSource = dt;
rptVersions.DataBind();
Das funzt jetzt sogar, da das Datum aber ein string ist, prüft er nur die ersten Zahlen, heisst also der 22.08.2009 liegt vor dem 10.10.2009. Wie könnte ich das noch ändern, ohne den Spaltentyp in ein DateTime abzuändern?
Danke!!
Ich habe es jetzt gelöst. Ich habe die Spalte in ein DateTime konvertiert und mit DESC sortiert. Letztes Problem: Jetzt zeigt er mir natürlich die Zeit so an: 17.09.2009 00:00:00. Wie bekomme ich die 00:00:00 noch weg?
Danke 😃
Hallo math55
Schau dazu hier:
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011