J'ai un datagridview, je suis la liaison à une source et l'affichage en utilisant cette méthode:Datagridview ne pas montrer les dernières données
private void tabPage2_Enter(object sender, EventArgs e)
{
HostTableList.Clear();
try
{
conn.Open();
MySqlCommand command = conn.CreateCommand();
command.CommandText = "SELECT HostName FROM test.hosts";
MySqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
HostTableList.Add(new Hosts(reader["HostName"].ToString()));
}
this.dgvHosts.DataSource = HostTableList;
this.dgvHosts.ReadOnly = true;
this.dgvHosts.Show();
}
catch (Exception ex)
{
tbxLog.AppendText("Unable to load table from database. Exception: " + ex.Message);
tbxLog.AppendText(Environment.NewLine);
}
finally
{
conn.Close();
}
}
J'ai une autre méthode qui se déclenche lorsque l'utilisateur remplit un nouveau nom d'hôte et clique sur Ajouter. la dernière ligne de cette méthode, appelle la méthode ci-dessus comme ceci:
tabPage2_Enter(null, null);
Cependant, quand tabPage2_Enter est appelé après l'ajout d'un nouvel hôte, le DGV ne montre pas ce nouvel hôte. J'ai parcouru le code, et juste avant de lier la DGV à HostTableList, la liste contient TOUS les hôtes, y compris le nouveau mais la DGV n'affiche pas cet hôte jusqu'à ce que je quitte le formulaire, et le réexécute.
La définition de DataSource à null l'a corrigé. Merci beaucoup. – xbonez