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

VB.NET Discussion :

TextBox.text ="" quand TextBox.Visible = False


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Par défaut TextBox.text ="" quand TextBox.Visible = False
    Bonjour,

    Tout est dans le titre !

    J'ai un textbox masqué qui contient le compteur (clé primaire) de ma Bdd.
    Je veux en récupérer le contenu pour un traitement SQL.
    J'ai remarqué que TextBox.Text = "" si TextBox.Visible=False ce qui m'empêche de récupérer la valeur

    Je ne trouve pas la solution (autre que régler la bordure et la police de même couleur que le fond)

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir noftal,

    Le fait que ta Textbox soit paramétré en "Visible=False" ne rends pas sa propriété ".Text" vide ....c'est totalement faux !
    Il y a certainement un autre problème quelque part ailleurs !

    A+

  3. #3
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    je confirme ce qu'a dit wallace1

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 40
    Par défaut
    Pour confirmation remet la propriété à True et tu sera convaicu

  5. #5
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    D'accord avec nos deux amis. Aurais tu des exemples de code à nous soumettre ?
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Par défaut
    Pour confirmation remet la propriété à True et tu sera convaicu
    Justement, c'est comme ça que je m'en suis aperçu.

    Cela dit, vos réponses me rasssurent. Ce comportement me semblait bien curieux.
    Maintenant, reste à trouver d'où vient l'erreur de code. Merci de votre aide.

    Le code étant assez compliqué, à coup d'espions et de points d'arrêt, j'ai trouvé l'endroit où l'espion TextBox1.text change de valeur. Cela se situe assez tôt dans le code de l'appli, au niveau de l'initialisation

    Dans cette appli, TextBox1 est un champ rempli par un databinding en fonction de la ligne sélectionnée d'un DataGridView (DTG)

    L'ordre d'exécution des instructions est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    ' déclare le CurrencyManager qui va servir de compteur d'enregistrements pour le champ TextBox ... et d'autres
    Private WithEvents CurMa_VC As CurrencyManager
    ...
     
    ' initialise le BindingNavigator permettant de naviguer entre les enregistrements dont TextBox fait partie. 
    'BN_VC = binding navigator
    'bs_VC = bindingsource dont le datasource, défini dans le designer est une datatable contenant Compteur
    Me.BN_VC.BindingSource = Me.bs_VC
    CurMa_VC= CType(Me.BindingContext(bs_VC), CurrencyManager)
    ...
     
    ' stocke le champ commun à la table sous jacente du DTG et à VC (relation de 1 à plusieurs)
    RéférenceActive = Me.DG_CLC.Rows(index).Cells(0).Value
     
    ' filtre le bs_VC sur la valeur de ce champ
    bs_VC.Filter = "N_ref = " & RéférenceActive
    ' se positionne sur le premier enregistrement de VC ainsi filtré
     CurMa_VinsConsommés.Position = 0
    ...
     
    TextBox.DataBindings.Clear() 'cette fonction n'a pas d'intérêt à l'initialisation mais uniquement après modification du dataset en cours d'appli
    ' définit la source de textbox
    Me.TextBox.DataBindings.Add("text", bs_VC, "Compteur")
    ...
    'ta_VC : table adapter défini sur la table VC (dans le designer, XSD)
    'ds: dataset défini dans le designer représentatif de l'ensemble de la BdD
    ' dt_VC : datatable définie dans le designer correspondant à la table VC 
    Me.ta_VC.Fill(Me.ds.dt_VC))
    J'ai mis des ... pour signifier que d'autres instructions s'intercalent mais a priori sans rapport avec TexTBox ou sa source de données

    voici ce que j'apprends en mode débug :
    - Au départ, TextBox1.text="".
    - si TextBox1.Visible = False (dans les propriétés du champ dans le designer), alors TextBox1.text="" pendant tout le déroulement du code ci-dessus
    - si TextBox1.Visible = True alors TextBox1.text change de valeur pour prendre la valeur attendue après exécution de la ligne 29 du code.

    J'espère que ces infos vont vous permettre d'y voir plus clair. N'hésitez pas à me poser des questions s'il vous en manque.

  7. #7
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    la réponse semble être là
    http://stackoverflow.com/questions/9...isible-control

    en résumé le databinding ne fonctionne que si le controle est visible
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. [XL-2007] Boucle Textbox. Visible = false
    Par Philippe_shelby dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2015, 14h18
  2. [C#] mettre en majuscule le texte d'un controle textbox
    Par grome dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/10/2011, 00h12
  3. Valeur d'un champ TextBox avec propriété visible = false
    Par mohamed301084 dans le forum VB.NET
    Réponses: 4
    Dernier message: 26/04/2010, 16h02
  4. [AC-2007] erreur quand j'utilise TextBox.Text
    Par nabilous87 dans le forum IHM
    Réponses: 14
    Dernier message: 04/09/2009, 15h02
  5. [C#] TextBox.text to int
    Par leycho dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/04/2006, 15h33

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