4

Je pense que cela devrait être facile, mais je ne vois pas comment le faire. J'utilise ASP.NET Dynamic Data avec LINQ to SQL. J'ai une table avec une table Association to the Technician. La propriété parent est TechAssignment, et sur le formulaire Web j'utilise un DynamicField pour l'afficher.Comment puis-je filtrer les choix d'une liste déroulante lors de l'utilisation de données dynamiques?

Cela fonctionne très bien, il le voit correctement comme un ForeignKeyField et utilise ce modèle pour me donner une liste déroulante avec une liste de techniciens de la table des techniciens.

Le seul problème est que cela me donne une liste de TOUS les techniciens, quand il y en a plusieurs qui sont inactif. Comment puis-je demander à Dynamic Data de filtrer les techniciens inactifs pour qu'ils ne puissent pas être sélectionnés?

+0

Avez-vous essayé d'utiliser une vue SQL au lieu de référencer la table d irectement? Je ne sais pas si cela fonctionnera pour votre situation. –

Répondre

1

LINQ to SQL génère des classes partielles.

  1. Ajouter une nouvelle propriété (copie de l'autre propriété clé étrangère)
  2. Appliquer le filtre dans le get (soit par LINQ2SQL ou en filtrant la propriété d'origine)
  3. Bind à cette propriété

Exemple UnapprovedContacts dans le tableau Association

public partial class Association 
{ 
    public IList<Contact> UnapprovedContacts 
    { 
     get 
     { 
      return Contacts.Where(c => !c.IsApproved).ToList(); 
     } 
    } 
} 
Questions connexes