我在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。但是当我点击按钮更改网格的DataSource时,它没有显示dataSet2的记录。请帮我解决这个问题。谢谢..。
发布于 2010-11-21 09:28:22
已回答
发布于 2010-08-13 15:53:33
您可以尝试将DGV的DataSource设置为BindingSource对象,然后改为修改BindingSource的DataSource。如果BindingSource没有自动更新,您可以通过调用它的CurrencyManager.Refresh()来强制它更新。
https://stackoverflow.com/questions/3473795
复制相似问题