Il ya quelques façons de le faire:
Faire un complexe de Requête SQL, qui permettra de regrouper les données en tant que de besoin, à l'aide de Jointures et d'autres façons de données de l'union.
La méthode la plus simple et la pire façon de le faire - est de prolonger votre tableau de données manuellement:
dataTable.Columns.Add(new DataColumn("newColumn", typeof(string)));
Cela permettra d'actualiser automatiquement DataGridView sur la forme. Et puis vous aurez besoin d'ajouter de nouvelles données à la nouvelle colonne du DataTable manuellement.
Je préfère travailler avec dataGridView basée sur des modèles. Vous devez créer une classe qui va représenter votre modèle. Comme class Person
avec des propriétés: Name, Age, etc.
Et alors cette liste en tant que source de données.
List<Person> listOfPersons = new();
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = new BindingSource() { DataSource = listOfPersons};
Le principal problème - vous aurez besoin d'analyser les données de base de données pour le modèle de format.
En fait, c'est là que l'ORM (Object-Relational Mapping) est utile. Il existe quelques solutions toutes prêtes, comme Dapper. Il va vous simplifier la vie)