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 :

databinding simple dans un textbox


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 44
    Points : 27
    Points
    27
    Par défaut databinding simple dans un textbox
    Bonjour,

    J'ai un souci avec le databinding. Je débute en vb, et j'essaye de lier des variables à des contenus de textbox.

    Mon code est tout simple, je défini une classe projet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     Public Class projet
            Public nom_projet As String
            Public numero_projet As String
            Public numero_ordre As String
            Public client As String
            Public programme_essai As String
            Public revision As String
            Public type_machine As String
        End Class
    Ensuite à l'initialisation de ma form , j'essaye de lier le nom du projet au contenu d'une textbox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Private Sub projet_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'Me.ComboBox_type_excit.SelectedIndex = 0
     
            Try
    dim mon_projet as new projet
     
                Dim b As New Binding("Text", mon_projet, "nom_projet", True)
                Me.TextBox_projet.DataBindings.Add(b)
     
    Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
     
        End Sub
    Pas de souci à la compilation, mais lorsque j'exécute le code, j'ai l'erreur:

    Nom : coin.png
Affichages : 731
Taille : 23,0 Ko

    Quelqu'un aurait une piste pour me dépanner?

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour
    Ca ne marchera pas parce que ton class declare des variables publiques au lieu des proprieties publiques...
    Ensuite la casse en VB.net c'est strict ...il faut se fatigue un peu les mains et les meninges...

    code vb.net :
    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
     
    Public Class Projet
     
        Public Property Nom As String
        Public Property Client As String
        Public Sub New()
            Nom = "aucun"
            Client = "aucun"
        End Sub
        Public Sub New(ByVal ONom As String, ByVal OClient As String)
            Me.New()
            Nom = ONom
            Client = OClient
        End Sub
    End Class
    et celui du form user:
    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
     
    Public Class Form1
     
        Private projetSource As Projet
        Private b As Binding
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Me.ComboBox_type_excit.SelectedIndex = 0
     
            Try
                projetSource = New Projet("Alibaba", "Aladin")
     
                b = New Binding("Text", projetSource, "Nom", True, DataSourceUpdateMode.OnPropertyChanged)
     
                Me.txtBoxNomProjet.DataBindings.Add(b)
                b = New Binding("Text", projetSource, "Client", True, DataSourceUpdateMode.OnPropertyChanged)
     
                Me.txtBoxClientProjet.DataBindings.Add(b)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
     
        End Sub
    End Class
    bon code...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    Merci pour ces précisions, en effet la déclaration de la classe est stricte.
    Encore un souci, toujours dans les méandres du binding.
    J'ai réussi à créer des bindings avec des propriété d'objet, mais pas avec la propriété d'un objet dans une liste.

    J'ai une liste de sonde, qui ont toutes un nom.

    Comment faire un binding avec un élément d'un tableau dans une liste?

    Par exemple j'ai défini un objet sonde, avec les propriété nom, type

    J'ai une liste liste_sonde de 10 sondes
    Je voudrais créer un binding entre textbox1 et le nom de la première sonde de ma liste;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      Dim b As New Binding("Text", liste_sonde.item(1), "nom", True, DataSourceUpdateMode.OnValidation)
            Me.TextBox_1.databindings.add(b)
    Ca ne fait pas d'erreur, mais pas de binding non plus...

Discussions similaires

  1. Capturer le touche ENTER dans un TextBox simple sans bruit
    Par bubulemaster dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/04/2008, 22h08
  2. [C#] Obtenir un format dans un textbox
    Par kenzo080 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 16/04/2007, 16h04
  3. [c#]Gros text à afficher dans une textbox
    Par famemaur dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/05/2005, 10h12
  4. Réponses: 2
    Dernier message: 08/04/2004, 11h11
  5. Réponses: 4
    Dernier message: 28/12/2003, 15h50

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