2010-08-12 17 views
0

J'ai un formulaire montrant les détails d'un client (divers contrôles), ainsi que leurs commandes (dans un DataGridView).Maître-détail via ComboBox en C#?

J'essaie d'ajouter une zone de liste déroulante pour permettre à l'utilisateur de sélectionner l'une des commandes du client et d'afficher les éléments qui lui sont associés dans un DataGridView distinct.

Cependant, je ne peux pas déterminer les DataSource/DataBindings dont j'ai besoin pour la zone de liste déroulante ou les éléments DataGridView - quelqu'un peut-il me donner quelques indications?

Répondre

1

Les commandes seront la source de données pour la zone de liste déroulante - OrderId sera le champ de valeur tandis que le numéro de commande ou la date de commande sera le champ de texte. Les éléments de cet ordre seront la source de données pour les éléments DataGridView. Cette grille doit être liée dans l'événement de changement de sélection de la combo-box (définissez la publication automatique true pour la zone de liste déroulante). J'espère que cela t'aides. code Psuedo pour l'événement de changement de sélection serait

protected void Orders_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    var orderId = int.Parse(Orders.SelectedValue); 
    // Get items for this order from data store 
    var items = ... 
    // Bind with items grid 
    OrderItems.DataSource = items; 
    OrderItems.DataBind(); 
} 

commandes est le nom de commandes ayant combo-box en OrderItems est GridView pour afficher les éléments.

+0

Merci pour la réponse. Pouvez-vous nous en dire un peu plus sur la publication automatique et sur ce qui doit réellement se passer dans l'événement de changement de sélection? – Rezzie

+0

AutoPostBack est la propriété de ComboBox. En le définissant vrai publiera votre page chaque fois qu'il y a un changement dans la sélection. Je mettrai le pseudo-code pour l'événement de changement de sélection dans la réponse elle-même. – VinayC

0

Cela semble avoir déjà répondu. Par exemple ici: How to get or set data from ComboBox in DataGridView

Ou mieux encore, il suffit de chercher « DataGridView combobox » dans StackOverflow et vous trouverez de nombreux sujets qui couvrent tous les aspects de ce problème.

+0

La réponse que vous avez liée est de remplir des ComboBox dans un DataGridView. J'ai un ComboBox sur mon formulaire qui est déjà rempli avec des commandes disponibles, j'ai juste besoin de celui sélectionné pour déterminer quelles données sont utilisées pour remplir un DataGridView séparé. – Rezzie