Boujour à tous,
Alors voila, je voudrais créer une classe "ligneDGV" héritée de DataGridViewRow pour lui ajouter des propriétés.
Ca donne quelque chose comme ça :
Pour ajouter une ligne :
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 public class ligneDGV: DataGridViewRow { string maRef = ""; int monNiveau = 1; public string Reference { set { maRef = value; } get { return maRef; } } public int Niveau { set { monNiveau = value;} get { return monNiveau; } } }
Ca fonctionne quand je n'ai qu'une ligne. Dès qu'il y en a plusieurs, les valeurs "Reference" et "Niveau" sont perdues (elles reviennent aux valeurs par défaut).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 private void nouvelle_ligne(string ref, short niveau) { LigneDVG ligne = new ligneDGV(); ligne.Reference = ref; ligne.Niveau = niveau; monContenu.dataGridView1.Rows.Add(ligne); }
J'ai sûrement fait quelque chose de travers mais je ne vois pas quoi.
J'ai vu ça sur MSDN :
Mais même après des heures et des heures de recherches, je ne comprend toujours pas à quoi sert cette méthode Clone, ni ce que je suis censée en faire, ni même si ça a quelque chose à voir avec le problème...Notes to Inheritors
When you derive from DataGridViewRow and add new properties to the derived class, be sure to override the Clone method to copy the new properties during cloning operations. You should also call the base class's Clone method so that the properties of the base class are copied to the new cell.
Je continue mes recherches, mais votre aide me serait très précieuse.
Merci d'avance !
Partager