CheckListBox (Selection automatique ?)
Bonjour à tous !
Je viens aujourd'hui par mis vous car j'ai un petit soucie d'auto cochement (ce mot n'existe pas) dans une CheckListBox.
Concept : J'aimerai mettre tout ce que l'utilisateur coche dans une CheckListBox dans une list. Pour une fois cocher, l'item sélectionner devient un objet. A chaque fois que l'utilisateur coche, je supprime le contenu de la CLB, rempli avec la liste (ceux qui sont Objet [entreprise.getNom() ]), rempli aussi par le reste des entreprises.
Problème : Additionnal information : La référence d'objet n'est pas définie à une instance d'un objet
Si vous voyez quelque chose qui peut être amélioré je suis ouvert à toute sujétion.
Le code est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
private void CLB_Step2_EntrepriseEXT_ItemCheck(object sender, ItemCheckEventArgs e)
{
//j'aimerais faire une liste d'objet
Controleur_Entreprise MonEntreprise = new Controleur_Entreprise(CLB_Step2_EntrepriseEXT.SelectedItem.ToString());
//je crée un controlleur pour pouvoir le traiter (je lui passe un nom d'entreprise)
int idEntreprise = MonEntreprise.getIdParNom();
//je cherche son id avec son nom
MonEntreprise.setID(idEntreprise);
//je lui met l'id
MonEntreprise.setEntrepriseParId();
//avec l'id je construit un objet entier
ListEntreprise.Add(MonEntreprise);
//que je passe dans une liste
CLB_Step2_EntrepriseEXT.Items.Clear();
//nétoyage de la CLB
int nbTotalEntreprise = 0; //je calcule le nombre total d'entreprise selectionner
int i = 0; //l'indice où je me trouve
foreach (Controleur_Entreprise values in ListEntreprise) //pour toute les entreprise je les rajoute
{
MessageBox.Show(values.getNom());
CLB_Step2_EntrepriseEXT.Items.Add(values.getNom());
nbTotalEntreprise++;
}
while(nbTotalEntreprise > i)
{
CLB_Step2_EntrepriseEXT.SetItemChecked(i, true);
i++;
}
foreach (string values in MesEntreprise.getListNomEntreprise()) //rajout des entreprise
{
//if value == listEntreprise.getNom()
CLB_Step2_EntrepriseEXT.Items.Add(values);
}
} |
Je vous remercie d'avance pour le temps que vous m'apportez.