Datagridview не показывает последние данные - PullRequest
1 голос
/ 24 января 2011

У меня есть сетевое представление, я привязываюсь к источнику и показываю, используя этот метод:

    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 не показывает этот хост, пока я не выйду из формы и не выполню ее повторно.

1 Ответ

2 голосов
/ 24 января 2011

Может быть DataGrid считает, что DataSource не изменился, потому что ссылка не изменилась. Попробуйте заново создать HostTableList или установить dgvHosts.DataSource на null, а затем на HostTableList или использовать ResetBindings () method

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...