如何在ToolStripControlHost中设置DataGridView的DataSource? (C#窗口形式)

我在ContextMenu控件中有一个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
        }
这里发生的是当窗体打开时,它显示contextMenu并使用dataSet1的值显示其上的DataGridView。但是当我单击按钮更改Grid的DataSource时,它不会显示dataSet2的记录。 请帮我解决这个问题...谢谢......     
已邀请:
您可以尝试将DGV的DataSource设置为BindingSource对象,然后修改BindingSource的DataSource。您可以通过调用其CurrencyManager.Refresh()来强制BindingSource更新(如果它不自动)。     
已在这里回答。     

要回复问题请先登录注册