Вывод в DataGridView показывает количество символов, а не имена строк - PullRequest
0 голосов
/ 28 мая 2019

DataGridView отображает количество символов в каждой строке, а не имена.

Когда я запускаю запрос в MySql Workbench, я получаю правильный вывод, поэтому я думаю, что проблема заключается в том, где я добавляю запрос в список typesByMonth.

Я получаю следующий вывод из предоставленного кода:

Length 3 14

    private void TypesByMonthRadioButton_CheckedChanged(object sender, EventArgs e)
    {


        List<String> typesByMonth = new List<String>();


        string CS = ConfigurationManager.ConnectionStrings["U04i5a"].ConnectionString;

        using (MySqlConnection con = new MySqlConnection(CS))
        {
            con.Open();
            //string query = "SELECT DISTINCT type, COUNT(type) FROM appointment WHERE (start > @start && end < @end) GROUP BY type;";
            string query = "SELECT DISTINCT type FROM appointment;";

            using (MySqlCommand cmd = new MySqlCommand(query, con))
            {
                using (MySqlDataReader reader = cmd.ExecuteReader())
                {

                    while (reader.Read())
                    {
                        if (!reader.IsDBNull(0))
                        {
                            typesByMonth.Add(reader["type"].ToString());
                        }
                    }
                }
            }
        }
        ReportsDataGridView.DataSource = typesByMonth;

    }

Ниже приведены выходные данные и то, что выдается из запроса при тестировании в рабочей среде. «тип» - это столбец.

Type xyz

Главный врач

1 Ответ

0 голосов
/ 28 мая 2019

Проблема в источнике данных, а не в чтении. Если вы хотите сохранить список строк, используйте ListBox вместо Grid.

private void TypesByMonthRadioButton_CheckedChanged(object sender, EventArgs e)
{


    List<Source> typesByMonth = new List<String>();


    string CS = ConfigurationManager.ConnectionStrings["U04i5a"].ConnectionString;

    using (MySqlConnection con = new MySqlConnection(CS))
    {
        con.Open();
        //string query = "SELECT DISTINCT type, COUNT(type) FROM appointment WHERE (start > @start && end < @end) GROUP BY type;";
        string query = "SELECT DISTINCT type FROM appointment;";

        using (MySqlCommand cmd = new MySqlCommand(query, con))
        {
            using (MySqlDataReader reader = cmd.ExecuteReader())
            {

                while (reader.Read())
                {
                    if (!reader.IsDBNull(0))
                    {
                        typesByMonth.Add(new Source(reader["type"].ToString()));
                    }
                }
            }
        }
    }
    ReportsDataGridView.DataSource = typesByMonth;

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