Comment régler le DataSource d'un DataGridView dans un ToolStripControlHost? (C # formes de fenêtre)

StackOverflow https://stackoverflow.com/questions/3473795

Question

Je DataGridView l'intérieur d'un contrôle ContextMenu, s'il vous plaît voir l'extrait de code ci-dessous:

private void Form1_Load(object sender, EventArgs e)
        {
            SetDataSource(dataSet1);// A populated DataSet
        }

protected void SetDataSource(DataSet ds)
        {
            dataGridView1.DataSource = ds;
            ToolStripControlHost tsHost = new ToolStripControlHost(dataGridView1);
            contextMenuStrip1.Items.Clear();
            contextMenuStrip1.Items.Add(tsHost);
            contextMenuStrip1.Show(textBox1, 0, 27);
        }

 private void button1_Click(object sender, EventArgs e)
        {
            SetDataSource(dataSet2);// Another populated DataSet
        }

Qu'est-ce qui se passe ici est quand sous la forme ouverte, elle montre la contextMenu et afficher le DataGridView dessus avec la valeur de dataSet1. Mais quand je clique sur le bouton pour changer la source de données de la grille, il ne montre pas les dossiers de Dataset2. S'il vous plaît aidez-moi comment résoudre ce problème ... merci ...

Était-ce utile?

La solution 2

a déjà répondu à ici.

Autres conseils

Vous pouvez essayer de régler la DataSource de DGV à un objet BindingSource, puis modifier DataSource du BindingSource à la place. Vous pouvez forcer BindingSource mise à jour, si elle ne le fait pas automatiquement, en invoquant son CurrencyManager.Refresh ().

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top