Ajouter des propriétés à DataGridViewRow
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 :
Code:
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; }
}
} |
Pour ajouter une ligne :
Code:
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);
} |
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).
J'ai sûrement fait quelque chose de travers mais je ne vois pas quoi.
J'ai vu ça sur MSDN :
Citation:
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.
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...
Je continue mes recherches, mais votre aide me serait très précieuse.
Merci d'avance !