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:

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;
    }
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".


Maintenant je clique sur le button1 qui va faire apparaitre un second Form que j'appelle 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;
    }
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.

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