Problemeinstellung DataSource eines DataGridView

Was hier passiert, ist, wenn das Formular geöffnet wird, es zeigt das contextMenu und zeigt das DataGridView mit dem Wert von dataSet1 darauf an. Wenn ich jedoch auf die Schaltfläche klicke, um die DataSource des Rasters zu ändern, werden die Datensätze von dataSet2 nicht angezeigt.

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
}

Ich habe versucht, ein anderes DataGridView-Steuerelement (dataGridView2) in mein Formular einzufügen, diesmal habe ich es jedoch nicht in einen ToolStripControlHost eingefügt und habe es nicht zum contextMenuStrip1 hinzugefügt.

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);

Wenn das Form1 geladen wird, wird das contextMenuStrip1-Popup angezeigt und das dataGridView1 wird als Element hinzugefügt, sodass dataGridView1 im Formular verschwindet und das dataGridView2 nur im Form1 verbleibt.

Wenn ich das @ drücbutton1 dasdataGridView2 ändert seine Inhaltsbasis von seinem neuenDataSource (dataSet2), während dataGridView1 weiterhin den Wert von @ anzeidataSet1. Was mir aufgefallen ist, wenn die ZeitdataGridView1 wird zum @ hinzugefüToolStripHost, und mache es zu einem Gegenstand imcontextMenuStrip1, dasDataSource Eigenschaft desDataGridView control wird nicht mehr geändert. Im Gegensatz zu dendataGridView2 das bleibt in der Form, die ich nicht zum @ hinzugefügt hacontextMenuStrip1.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage