Como definir o DataSource de um DataGridView dentro de um stripControlHost? (Formulários de janela C#)

StackOverflow https://stackoverflow.com/questions/3473795

Pergunta

Eu tenho um DataGridView dentro de um controle de menu de contexto, consulte o snippet de código abaixo:

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
        }

O que acontece aqui é quando, no formulário, é aberto, ele mostra o contexto e exibe o DataGridView com o valor do DataSET1. Mas quando clico no botão para alterar a fonte de dados da grade, ele não mostra os registros do DataSET2. Por favor me ajude a consertar isso ... obrigado ...

Foi útil?

Solução 2

Já respondeu aqui.

Outras dicas

Você pode tentar definir o DataSource da DGV em um objeto BindingSource e modificar o DataSource da BindingSource. Você pode forçar o BindingSource a ser atualizado, se não for automaticamente, invocando seu CurrencyManager.Refresh ().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top