ASP.NET Dynamic Data DisplayColumn Attribut Verursachung Ausgabe Sortierung
-
06-09-2019 - |
Frage
Mit ASP.NET Dynamic Data mit einem LINQ to SQL Datacontext aus der Nordwind-Datenbank ...
Wenn ich ein DisplayColumn Attribut zu einem meiner LINQ to SQL entity
Klassen hinzufügen und verweisen auf eine Eigenschaft von meinem eigenen Code in der Teilklasse, verliere ich die Fähigkeit, nach dieser Spalte in der generierten Gridviews . Ich habe weiterhin die Fähigkeit zu verlieren, zu sortieren, auch wenn ich eine nicht-benutzerdefinierte Eigenschaft als sortColumn
verweisen.
Warum ist das passiert?
Beispielcode:
[DisplayColumn("LastNameFirstName", "LastName", false)]
public partial class Employee
{
public string LastNameFirstName
{
get { return LastName + ", " + FirstName; }
}
}
Aaron
EDIT: Die sortColumn
gibt die Spalte, die verwendet wird diese Einheit zu sortieren, wenn es als Fremdschlüssel (in a Dropdownlist ) verwendet wird, nicht, wenn es in die sortiert wird Gridview .
Lösung 2
Dieses by Design sein kann ...
Die „SortColumn“ gibt die Spalte, die verwendet werden, werden diese Einheit zu sortieren, wenn es als Fremdschlüssel (in einer Dropdownlist) verwendet wird, nicht, wenn es in der Gridview sortiert wird.
Andere Tipps
Das ist richtig, weil die Eigenschaft nicht in der DB und LINQ to SQL ist versucht, einen T-SQL quert an die DB zu erstellen, um Ihre Einheiten zu erhalten. aber fehl, weil diese keine Spalte mit diesem Namen ist.
Sie könnten versuchen, die ToString () Methode überschrieben, die funktionieren könnte, aber es wäre nur auf der Einheit filtern durch die FK Beziehung verwiesen wird.
Versuchen Sie, [ScaffoldColumn (true)] - es könnte dynamische Daten Trick Sortierung ermöglichen
[DisplayColumn("LastNameFirstName", "LastName", false)]
public partial class Employee
{
[ScaffoldColumn(true)]
public string LastNameFirstName
{
get { return LastName + ", " + FirstName; }
}
}