0

我在 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 并在其上显示 DataGridView 和 dataSet1 的值。但是当我单击按钮更改网格的数据源时,它没有显示 dataSet2 的记录。请帮我解决这个问题...谢谢...

4

2 回答 2

0

您可以尝试将 DGV 的 DataSource 设置为 BindingSource 对象,然后改为修改 BindingSource 的 DataSource。您可以通过调用 CurrencyManager.Refresh() 来强制 BindingSource 更新(如果它没有自动更新)。

于 2010-08-13T07:53:32.723 回答
0

已经在这里回答了

于 2010-11-21T01:28:22.430 回答