Usercontrol de gestion de plusieur liste d'object

Soyez le premier à donner votre avis sur cette source.

Vue 5 120 fois - Téléchargée 684 fois

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

Ajouter un commentaire Commentaires
Messages postés
380
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
13 août 2011
7
salut oui c similaire j'ai fais ce controls car personnellement je haie les gridviews
Messages postés
229
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
20 août 2014

Salut, si j'ai bien compris, ton controle est similaire à un gridview ou je me trompe ?

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.