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

Framework .NET Discussion :

BindingSource : passer les composants IHM liés en read only


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Par défaut BindingSource : passer les composants IHM liés en read only
    Bonjour, j'ai actuellement un bindingsource qui alimente différents composants IHM. Etant donné que je fais du maitre détail, j'aimerais pouvoir changer l'état du détail (lecture/édition). La solution serait de passer mon bindingsource en lecture seule de sorte qu'il empêche les modif dans l'IHM (on fait comme ça en delphi).
    J'aimerais pouvoir reproduire ce comportement et non pas me taper tous les composants liés à la mano pour les passer en lecture seule.

    Alors possible or not ?

    Merci.

  2. #2
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Salut

    Quel est le type de ton DataSource dans ton BindingSource?

    Normalement ca doit etre quelque chose du type Ilist ouIbindinglist. Tu peux surcharger les proprietes ReadOnly ou respectivement AllowEdit et jouer sur le True/False en fonction de tes instructions.

    Neamoins la solution de la desactivation des controles est plus simple, tu n'as pas a gerer les editions de donnees en readonly

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Par défaut
    Salut, merci pour ta réponse.
    Dans le datasource de mon bindingsource, j'ai un objet métier pondu par wilsonOR. Ce n'est pas une liste car je fais du maitre détail, donc l'objet correspond à la ligne sélectionnée dans ma grille. Néanmoins, un petit coup de reflector et on s'aperçoit que le setter de la property datasource intègre mon objet dans une liste (ça c'est pour la petite histoire). Du coup, dans bindingsource.list j'ai une IList contenant mon une seule entrée.

    J'ai tenté de créer une BindingList<T> avec mon objet métier, puis je l'affecte au datasource. Lorsque je joue sur la propriété AllowEdit, ça ne change pas le comportement dans l'IHM. J'aimerais en faire de même avec ReadOnly, mais je ne vois pas comment l'affecter. Seul IList.IsReadOnly{get;} est dispo.

    Je ne trouve pas comment affecter le champ qui est derrière ce IsReadOnly.

    Voilou ... galère.

Discussions similaires

  1. [WS 2008 R2] Problèmes liés à l'intégration avec les composants.
    Par gg38090 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 31/10/2011, 17h48
  2. Réponses: 2
    Dernier message: 06/04/2007, 10h26
  3. Envoie d'un message a TOUS les composant d'une form
    Par chddv dans le forum Composants VCL
    Réponses: 7
    Dernier message: 15/09/2003, 09h47
  4. [DTS] Passer les var globales d'un lot à un autre
    Par David K. dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 25/07/2003, 12h39
  5. Les composants : ATL, DLL, COM, OCX, ...
    Par Pucpood dans le forum Windows
    Réponses: 3
    Dernier message: 04/07/2003, 10h03

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