繁体   English   中英

如何在ToolStripControlHost内部设置DataGridView的数据源? (C#窗口形式)

[英]How to set the DataSource of a DataGridView inside a ToolStripControlHost? (C# window forms)

我在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的记录。 请帮我解决这个问题...谢谢...

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

这里已经回答了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM