2011-12-08 5 views
0

J'ai une liste déroulante qui est connectée à la base de données, donc je remplis la valeur de ma liste déroulante en fonction de ce qui se trouve dans ma base de données. mon combobox est un autre FORM de la grille de données. Alors, voici ce que je veux accomplir.Événement Highlight DatagridView - WINFORM C#

form1 = DataGrid (basé sur la base de données) form2 = combobox (basé sur la base de données)

Je veux que si je souligne une certaine ligne (Mon mode de sélection = FullRowSelect) et appuyez sur un bouton, le comboBox sera pointez automatiquement sur cette ligne.

par ex. DataGrid

  1. nom: Joe (surligné)
  2. * utilisateur clique sur le bouton whch dans mon cas est modifier
  3. * formulaire de modification de charge
  4. comboBox.SelectedIndex est = mis en évidence la ligne (qui l'utilisateur clique

Je peux vous montrer mon code si cela vous aide. merci :))

MERCI! :))

+1

passez l'index de ligne à la zone de liste déroulante – Nighil

+0

ok. J'essaierai. existe-t-il une méthode selectedRowIndex? –

Répondre

1

Vous pouvez essayer de définir de la façon suivante, vous pouvez passer la valeur Joe à l'autre formulaire via un paramètre dans le constructeur. Cela pourrait être ensuite utilisée pour vous sélectionner la valeur requise dans le ComboBox

comboBox2.SelectedIndex = comboBox2.Items.IndexOf("Joe");

comboBox2.SelectedText = "Three"; // ou SelectedValue selon la façon dont vous liez

EDIT Évitez d'accéder à la grille directement à partir de l'autre forme , exposer la valeur requise en tant que propriété ou mieux la passer à la nouvelle forme en tant que paramètre. Joe peut être la valeur de la cellule comme dataGridView2.CurrentRow[0].FormattedValue et le transmettre au nouveau constructeur de formulaire comme new Form2(object datagridvalue). Ensuite, utilisez la valeur dans le formulaire plus tard.

+0

Joe devrait être une variable. Ce qui signifie qu'il dépend de ce que l'utilisateur clique/mis en surbrillance –

+1

en effet ce serait une variable – V4Vendetta

+0

Merci m Vendetta :)) –