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 .

War es hilfreich?

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; }
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top