IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Une collection en propriété d'un control ?


Sujet :

ASP.NET

  1. #1
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut Une collection en propriété d'un control ?
    Bonjour a tous, je cherche a créer une collection ( comme la liste des colonnes sur une gridview )
    mais je n'arrive pas a trouver de tutorial clair et simple :'(

    par exemple un objet personne : nom (string ) , age (int)

    et je souhaiterais avoir une propriété : Personnes en mode designer qui me permet d'ajouter ou supprimer des personnes

    Merci d'avance pour toute piste

    Ps en c# orienté web

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private List<Person> _persons = new List<Person>();
    [Editor(typeof(PersonCollectionEditor), typeof(CollectionEditorBase))]
    public IList<Person> Persons
    {
        get { return _persons; }
    }
    où PersonCollectionEditor est une classe qui hérite de CollectionEditorBase (pour les détails de l'implémentation, je sais pas trop...)

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    nop, ma propriété apparait mais pas sous la forme d'une collection :'(

    j'y accède bien en code behind, mais elle n'apparait pas en designer

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Alors, c'était presque ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private List<Person> _persons = new List<Person>();
    [Editor(typeof(PersonCollectionEditor), typeof(UITypeEditor))]
    public List<Person> Persons
    {
        get { return _persons; }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        public class PersonCollectionEditor : CollectionEditor
        {
            public PersonCollectionEditor(Type type)
                : base(type)
            {
     
            }
     
            protected override Type CreateCollectionItemType()
            {
                return typeof(Person);
            }
        }
    Ce qui est chiant, c'est que visiblement ça ne fonctionne pas si on déclare la propriété comme IList<Person>... dans ce cas le bouton "ajouter" reste désactivé, je comprends pas trop pourquoi

    Y a un tuto pas trop mal sur MSDN :
    http://msdn.microsoft.com/en-us/library/9txe1d4x.aspx

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Au final j'ai réussis => en passant par un control utilisateur simple ( un .cs ) et non en passant par un ascx et le code fonctionne :-/

    Merci Tom

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/10/2006, 16h46
  2. Réponses: 4
    Dernier message: 19/10/2006, 14h29
  3. [VB6] Créer une page de propriété d'un control ActiveX
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 09/05/2006, 12h10
  4. Réponses: 4
    Dernier message: 22/12/2005, 11h43
  5. Controle dans une collection
    Par rolototo dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 07/02/2005, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo