我在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。但是,当我单击按钮更改网格的数据源时,它不会显示DataSet2的记录。请帮助我如何解决这个问题...谢谢...

有帮助吗?

解决方案 2

已经回答了 这里。

其他提示

您可以尝试将DGV的数据源设置为bindingsource对象,然后修改BindingSource的数据源。您可以通过调用其CurrenceManager.refresh()()来强制使用bindingsource进行更新。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top