Проблема с установкой DataSource для DataGridView

Здесь происходит, когда в форме открывается, он показывает contextMenu и отображает на нем DataGridView со значением dataSet1. Но когда я нажимаю кнопку, чтобы изменить источник данных сетки, он не показывает записи dataSet2.

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
}

Я попытался добавить другой элемент управления DataGridView (dataGridView2) в мою форму, но на этот раз я не поместил его в ToolStripControlHost и не добавил его в 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);

Когда Form1 загружается, contextMenuStrip1 всплывает, и dataGridView1 добавляется в качестве элемента к нему, заставляя dataGridView1 исчезать в форме, а dataGridView2 остается только в Form1.

Когда я ударилbutton1 dataGridView2 изменяет свою контентную базу с новойDataSource (dataSet2), в то время как dataGridView1 по-прежнему отображает значениеdataSet1, Что я заметил, когда времяdataGridView1 добавляется кToolStripHostи сделать его предметом вcontextMenuStrip1,DataSource собственностьDataGridView контроль больше не меняется. в отличие отdataGridView2 что остается в том виде, который я не добавил кcontextMenuStrip1.

Ответы на вопрос(2)

Ваш ответ на вопрос