Istnieje kilka sposobów, jak to zrobić:
Zrób złożone zapytania SQL, które zostaną zgrupowane dane w miarę potrzeby, za pomocą stowarzyszenia i inne sposoby łączenia danych.
Najprostszym i najgorszy sposób, aby to zrobić - rozwiń tabelę danych ręcznie:
dataTable.Columns.Add(new DataColumn("newColumn", typeof(string)));
To automatycznie zaktualizuje widok DataGrid w formie. A następnie trzeba będzie ręcznie dodać nowe dane do nowej kolumny z danymi.
Wolę pracować z DataGridView na podstawie modeli. Trzeba stworzyć klasę, która będzie reprezentować swój model. Podoba class Person
właściwości: Name, Age, etc.
A następnie ustawić tę listę jako źródła danych.
List<Person> listOfPersons = new();
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = new BindingSource() { DataSource = listOfPersons};
Główny problem - trzeba będzie analizować dane z bazy danych w formacie modelu.
W rzeczywistości, to właśnie tutaj przydatne ORM (Object-реляционное mapowanie). Istnieje kilka gotowych rozwiązań, takich jak Dapper. To uprości życie)