Проблема с отображением колонок в DataGridView C#
Во время создания форм у меня возникла проблема с отображением данных, получаемых из MySQL. DataGridView, помимо заранее созданных колонок, при вызове запроса SELECT отображает сторонние колонки из базы данных.
public void Display()
{
var DataBaseClients = new DataBaseClients();
DataBaseClients.displayAndSearch("SELECT id_cl as '#', cl_fname as 'Name', cl_lname as 'Surname', cl_phone as 'Phone', cl_address as 'Address' FROM clients", dataGridView);
}
public void displayAndSearch(string query, DataGridView dgv)
{
string sql = query;
MySqlConnection connection = GetConnection();
MySqlCommand command = new MySqlCommand(sql, connection);
MySqlDataAdapter adapter = new MySqlDataAdapter(command);
DataTable table = new DataTable();
adapter.Fill(table);
dgv.DataSource = table;
dgv.AutoGenerateColumns = false;
dgv.Columns["#"].DataPropertyName = "id_cl";
dgv.Columns["Name"].DataPropertyName = "cl_fname";
dgv.Columns["Surname"].DataPropertyName = "cl_lname";
dgv.Columns["Phone"].DataPropertyName = "cl_phone";
dgv.Columns["Address"].DataPropertyName = "cl_address";
connection.Close();
}
Ответы (1 шт):
Автор решения: Konst
→ Ссылка
не используйте заранее созданные колонки, а назначайте полученные из адаптера (нужный перечень колонок определите сразу в SQL), для вашей ситуации можно сделать таким образом:
...
dgv.AutoGenerateColumns = false;
dgv.DataSource = table;
dgv.Columns["Name"].DataPropertyName = "cl_fname";
dgv.Columns["Surname"].DataPropertyName = "cl_lname";
...


