Как установить источник данных DataGridView внутри ToolStripControlHost? (C # оконные формы) - PullRequest
0 голосов
/ 13 августа 2010

У меня есть DataGridView внутри элемента управления ContextMenu, см. Фрагмент кода ниже:

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.Пожалуйста, помогите мне, как это исправить ... спасибо ...

Ответы [ 2 ]

0 голосов
/ 21 ноября 2010

Ответили уже здесь.

0 голосов
/ 13 августа 2010

Вы можете попытаться установить для DGV DataSource объект BindingSource, а затем изменить вместо него источник данных BindingSource.Вы можете принудительно обновить BindingSource, если это не происходит автоматически, вызвав его CurrencyManager.Refresh ().

...