Como definir o DataSource de um DataGridView dentro de um stripControlHost? (Formulários de janela C#)
-
28-09-2019 - |
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 ...
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