Ich habe LINQ nicht ausgiebig benutzt, aber je mehr ich es benutze, desto mehr erkenne ich, wie mächtig es sein kann. Die Verwendung der LinqDataSource.OrderBy-Klausel ist offensichtlich einfach, wenn Sie nach einer Eigenschaft für die gebundenen Elemente sortieren möchten, aber was, wenn Sie die Elemente basierend auf einer Methodenrückgabe sortieren möchten? Nehmen Sie diese Klasse zum Beispiel (bitte ausgefallenes Design ignorieren - es ist nur verwendet, um meinen Punkt zu betonen):Ist es möglich, LinqDataSource.OrderBy auf das Ergebnis einer Methode zu setzen?
public class DataItem
{
private string Id { get; set; }
private int SortValue { get; set; }
public DataItem(string id, int sortValue)
{
this.Id = id;
this.SortValue = sortValue;
}
public int GetSortValue()
{
return SortValue;
}
}
Gibt es eine Möglichkeit, dass ich den orderby Ausdruck auf der LinqDataSource so einstellen kann, dass er den Wert verwendet zurück aus GetSortValue (dh Reihenfolge von anderen Mitgliedern als Eigenschaften), aber ohne die DataItem-Klasse zu ändern?
Hallo Jackson, In der Tat könnte ich die Methode in eine Eigenschaft wickeln - leider (und ich hätte das wahrscheinlich schon erwähnt) kann ich die DataItem-Klasse nicht ändern. Ich habe mich gefragt, ob es eine Möglichkeit gibt, die Order-Eigenschaft zu setzen, ohne die DataItem-Klasse zu ändern. –
Nicht, dass ich sehen kann, fürchte ich. –