Bonjour à tous,

Je dois modifié une fonctionnalité d'une application existante où une DataGridView est rempli sans databinding, c'est à dire par des simples

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
dgv.Rows.Add();
dgv.Rows[dvg.Rows.Count-1].Cells[0].value = value1;
etc ...

J'aurais bien voulu modifier le remplissage de cette datagridview par un databinding, en passant soit par une binding sur une Liste d'objets (ce que je préfères ne pas faire) soit en passant par une DataTable(solution plus propre à mon sens)

Cependant, le binding à faire n'est pas tout simple, c'est à dire que les données à afficher ne sont pas une sélection de données dans une table SQL unique.

Il faut récupérer des propriétés d'autres tables liées par des clés étrangères et ajouter des colonnes dans le DataGridView pour afficher des données personnalisées qui ne se trouvent pas dans la base de donnés.

Comme cet exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Bitmap bit = null;
switch (Value)
{
                        case 1:
                            bit = Library.CreateBitmapImage(Color.Blue,15,15);
                            break;
                        case 2:
                            bit = Library.CreateBitmapImage(Color.Green, 15, 15);
                            break;
                        case 3:
                            bit = Library.CreateBitmapImage(Color.Red, 15, 15);
                            break;
                        case 4:
                            bit = Library.CreateBitmapImage(Color.Orange, 15, 15);
                            break;
                        default:
                            break;
}
dataGridViewActivites.Rows[dataGridViewActivites.Rows.Count - 1].Cells["Marqueur"].Value = bit;
La méthode Library.CreateBitmapImage permettant de créer une image bitmap d'une certaine couleur.

De plus, est il possible d'assigner un object à la propriété DataBoundItem des rows ?

Car le binding d'une DataTable assigne une DataRowView au DataBoundItem , ce qui ne m'interesse pas trop dans ce contexte ci :/