Bonjour à tous,
Je me demande quelle est la meilleure solution pour changer une variable / mettre à jour un datagridview d'un Form1 depuis un Form2.
J'ai donc un DGV dans un Form1. Il affiche le résultat d'une requête SQL par un string "strSQL" qui se met à jour en fonction des choix que je sélectionne dans les listbox de ce même Form1:
La fonction GetListFilter va parcourir les listboxes, récupérer les choix sélectionnés (SelectedItems) et va mettre à jour le sting "strWhere" et donc in fine le string de requête "strSQL".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public void Defaultview() { string strSQL = "SELECT mycolumn1, mycolumn2 FROM myTable"; string strWhere; string connetionString = @"Data Source=mydatasource;Initial Catalog=myDB;Integrated Security=SSPI"; strWhere = GetListFilter(tableLayoutPanelForm1); if (strWhere != null) { strSQL += " WHERE " + strWhere; } SqlConnection cnn = new SqlConnection(connetionString); SqlDataAdapter adapter= new SqlDataAdapter(strSQL, cnn); DataTable Dt = DataTable(); adapter.Fill(Dt); dataGridView1.DataSource = Dt; }
Maintenant je clique sur le button1 qui va faire apparaitre un second Form que j'appelle Form2:
Dans ce Form2: 2 listbox et un bouton. La première listbox affiche tous les choix possible de la première colonne de ma table SQL. Je peux drag&drop ces choix dans la seconde listbox. Et je vais vouloir intégrer cette sélection dans ma fonction GetflistFilter du Form1 pour pouvoir mettre à jour la view Dans le form1 lorsque je click sur le bouton de mon Form2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void btn1(object sender, EventArgs e) { var Form2 = new Form2(this); Form2.Show(); Form2.TopMost = true; }
Honnêtement, je suis un peu confus... comment interagir sur le datagridview du form1 depuis mon Form2 ?
N'hésitez pas si besoin de plus d'informations et à bientot j'espère
Partager