2010-06-11 6 views
0

OK donc j'ai 2 tables pour cette instance, les utilisateurs {ID utilisateur, Nom}, Société {CompanyID, UserID, Nom, Payrate}LINQ to filtre SQL sortie combobox

j'ai aussi 2 boîtes combo, premier l'un est pour les utilisateurs qui affichent le nom, et la valeur est l'ID utilisateur J'ai besoin de la deuxième liste déroulante pour obtenir les noms de la table Société, mais en affichant uniquement les sociétés qui sont pertinentes pour l'utilisateur sélectionné. Je ne peux pas savoir comment l'obtenir pour aller ...

Des idées ???

Répondre

0

Quelle langue? C#, VB.NET? Est-ce une application Web ou une application Windows? Avez-vous des associations configurées dans votre datacontext pour lier Company.UserID (child) à Users.UserID (parent)?

+0

cela semble que ce serait mieux comme un commentaire à la question au lieu d'une réponse :) Oui –

+0

im en utilisant C# application WinForm oui j'ai cette association – Brendan

0

si elle est asp.net et .net 4, il y a un certain new support for doing the filtering declaratively

si vous ne pouvez pas ou ne voulez pas l'utiliser, alors je vous assurer que vous utilisez un LinqDataSource pour remplir et utilisez l'événement Selecting sur LinqDataSource - dans ce cas, vous pouvez définir e.Result à la requête linq spécifique que vous voulez renvoyer (par rapport à la table de la société, je suppose), qui dans votre cas inclura un 'where' pour le filtrage vers le UserID (valeur sélectionnée) de l'autre combobox

0

Voici comment vous pouvez le faire.

  1. "CBAT" est le comobox

var cat = de s dans db.categories sélectionnez Nouveau {s.name};

 this.cbcat.ItemsSource = cat.ToList(); 
     cbcat.DisplayMemberPath = "name"; 
     cbcat.SelectedIndex = 0;