У меня есть DataGridView, я обязывающие к источнику и отображение с помощью этого метода:DataGridView не показывая последние данные
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();
}
}
У меня есть еще один метод, который получает провоцируется, когда пользователь заполняет новое имя хоста и нажимает кнопку «Добавить». последняя строка в этом методе, вызывает указанные выше способ, как это:
tabPage2_Enter(null, null);
Однако, когда tabPage2_Enter вызывается после добавления нового хозяина, то DGV не показывает этот новый хозяин. Я прошел через код и как раз перед привязкой DGV к HostTableList, список содержит ВСЕ хосты, в том числе новый, но DGV не показывает этот узел, пока я не выйду из формы, и снова запустите его.
Установка DataSource на null исправлена. Благодаря тонну. – xbonez