Usercontrol de gestion de plusieur liste d'object

Description

Cet un usercontrol qui permet de reger une collection de List<T> avec relation entre les listes.
il contient une listview pour l'affichage des éléments contenus dans chaque liste.

Le tout est héré par reflexion donc en quelque ligne vous pouvez par exemple reger une bibliotheque de livre soit
un stock de magasin soit les heures de votre travail ect

ca se passe en 4 étapes simple

1 = editer le fichier CaisseElements.cs pour y definir vos class

#region CLASS CLIENT

[Serializable()] // important
public class Client : ControlEditionList.ClassUniqueId // important
{
private String _Name = "Nouveau";

[ControlEditionList.Display("Nom du client", 1)] // Text columnsHeader et index d'afffichage de columns
public String Name
{
get { return _Name; }
set { _Name = value; }
}

public Client()
{
}
}

#endregion CLASS CLIENT
2 = plus bas dans le meme fichier modifier vos listes dans la class CaisseElements

private ControlEditionList.ListDataObject _listClients = new ControlEditionList.ListDataObject("Clients", typeof(Client));
public ControlEditionList.ListDataObject listClients
{
get { return _listClients; }
set { _listClients = value; }
}

3 = ajouter l'usercontrol sur une forme

private CaisseMag.CaisseElements Caisse;

private void Form1_Load(object sender, EventArgs e)
{
try
{
Caisse = LoadCaisse();

// image des élément de la listview
Caisse.listClients.Image = CaisseMag.Properties.Resources.user;
Caisse.listArticle.Image = CaisseMag.Properties.Resources.cog;
Caisse.listRayons.Image = CaisseMag.Properties.Resources.box;

controlList1.Reference = Caisse;

}
catch (Exception ex)
{

MessageBox.Show(ex.Message);
}
}

private CaisseMag.CaisseElements LoadCaisse()
{
String FichierConfig = "Caisse.osl"; // fichier de savegarde

if (System.IO.File.Exists(FichierConfig))
{
return CaisseMag.CaisseElements.DeSerialise(FichierConfig);
}

CaisseMag.CaisseElements C = null;
try
{
C = new CaisseMag.CaisseElements();
C.FileName = FichierConfig;
}
catch (Exception)
{

}
return C;

}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Caisse.Serialise("Caisse.osl");
}

Conclusion :


le tour est joué

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.