Ce qui se passe ici est lorsque le formulaire s'ouvre, il affiche le menu contextuel et affiche le DataGridView avec la valeur de dataSet1. Mais quand je clique sur le bouton pour changer la DataSource de la Grille, cela n'affiche pas les enregistrements de dataSet2.Problème de définition DataSource d'un DataGridView
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
}
J'ai essayé d'ajouter un autre contrôle DataGridView (dataGridView2) sous ma forme, mais cette fois je ne l'a pas mis dans une ToolStripControlHost et je ne pas l'ajouter à la contextMenuStrip1.
dataGridView1.DataSource = ds;
dataGridView2.DataSource = ds; // <-- Parent of this is the Form1, the control is not added in the contextMenuStrip.
ToolStripControlHost tsHost = new ToolStripControlHost(dataGridView1);
contextMenuStrip1.Items.Clear();
contextMenuStrip1.Items.Add(tsHost);
contextMenuStrip1.Show(textBox1, 0, 27);
Lorsque les charges Form1 les popups contextMenuStrip1 et le dataGridView1 est ajouté comme un élément qui lui faisant dataGridView1 à disparaître sous la forme et la dataGridView2 reste seulement dans le Form1.
Quand je frappe le button1
la dataGridView2
change sa base du contenu de son nouveau DataSource
(dataSet2
), tandis que le dataGridView1 affiche toujours la valeur de dataSet1
. Ce que j'ai remarqué est lorsque le temps dataGridView1
est ajouté au ToolStripHost
et en fait un élément dans le contextMenuStrip1
, la propriété DataSource
du contrôle DataGridView
n'est plus modifiée. Contrairement au dataGridView2
qui reste sous la forme que je n'ai pas ajouté au contextMenuStrip1
.
merci monsieur, je vais essayer. – yonan2236
Ça marche! hehe, je suis très reconnaissant, merci ...:) – yonan2236
Nice. Mais quel est le concept derrière cela, c'est-à-dire derrière le comportement? – TheBlastOne