Проблема с установкой DataSource для DataGridView
Здесь происходит, когда в форме открывается, он показывает contextMenu и отображает на нем DataGridView со значением dataSet1. Но когда я нажимаю кнопку, чтобы изменить источник данных сетки, он не показывает записи dataSet2.
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
}
Я попытался добавить другой элемент управления DataGridView (dataGridView2) в мою форму, но на этот раз я не поместил его в ToolStripControlHost и не добавил его в contextMenuStrip1.
dataGridView1.DataSource = ds;
dataGridView2.DataSource = ds; // <-- Parent of this is the Form1, the control is not added in the contextMenuStrip.
ToolStripControlHost tsHost = new ToolStripControlHost(dataGridView1);
contextMenuStrip1.Items.Clear();
contextMenuStrip1.Items.Add(tsHost);
contextMenuStrip1.Show(textBox1, 0, 27);
Когда Form1 загружается, contextMenuStrip1 всплывает, и dataGridView1 добавляется в качестве элемента к нему, заставляя dataGridView1 исчезать в форме, а dataGridView2 остается только в Form1.
Когда я ударилbutton1
dataGridView2
изменяет свою контентную базу с новойDataSource
(dataSet2
), в то время как dataGridView1 по-прежнему отображает значениеdataSet1
, Что я заметил, когда времяdataGridView1
добавляется кToolStripHost
и сделать его предметом вcontextMenuStrip1
,DataSource
собственностьDataGridView
контроль больше не меняется. в отличие отdataGridView2
что остается в том виде, который я не добавил кcontextMenuStrip1
.