Question

Utilisation de ASP.NET Dynamic Data avec LINQ to SQL DataContext de la base de données Northwind ...

Quand j'ajouter un attribut DisplayColumn à l'un de mes classes LINQ to SQL entity et faire référence à une propriété de mon code personnalisé dans la classe partielle, je perds la possibilité de trier par cette colonne dans le produit GridViews . Je continue à perdre la possibilité de trier, même si je référence une propriété non personnalisée comme sortColumn.

Pourquoi est-ce qui se passe?

Exemple de code:

[DisplayColumn("LastNameFirstName", "LastName", false)]
public partial class Employee
{
    public string LastNameFirstName
    {
        get { return LastName + ", " + FirstName; }
    }
}

Aaron

EDIT: Le sortColumn spécifie la colonne qui sera utilisée pour trier cette entité quand il est utilisé comme une clé étrangère (dans un DropDownList ), pas quand il est trié dans le GridView .

Était-ce utile?

La solution 2

Cela peut être par la conception ...

Le « sortColumn » spécifie la colonne qui sera utilisée pour trier cette entité quand il est utilisé comme une clé étrangère (dans un DropDownList), pas quand il est trié dans le GridView.

Autres conseils

C'est exact parce que la propriété est dans le DB et LINQ to SQL va essayer de construire une quert T-SQL à la base de données pour obtenir vos entités. mais échouera parce que c'est pas de colonne avec ce nom.

Vous pouvez essayer redéfinissant la méthode ToString () qui pourrait fonctionner, mais il serait seulement un filtre sur l'entité référencée par la relation FK.

Essayez d'ajouter [ScaffoldColumn (true)] - il pourrait duper des données dynamiques pour activer le tri

[DisplayColumn("LastNameFirstName", "LastName", false)]
public partial class Employee
{
    [ScaffoldColumn(true)]
    public string LastNameFirstName
    {
        get { return LastName + ", " + FirstName; }
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top