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 :

Positionner objet tablelayoutpanel


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut Positionner objet tablelayoutpanel
    Bien le bonjour les petit loups

    donc j'essaie de creer une forme de planning propre a mes besoins
    Affichage en colonne les jours et en ligne les noms des techniciens
    Pour ca pas de prob je genere les lignes et colonnes avec un tablelayoutpanel et charge les dates dans des txtbox au dessus du tablelayoutpanel.
    Ensuite je charge le nom des tech sur la colonne 0 en définissant le nb de lignes a créer.
    Pour le moment c'est tout beau mais vide.
    Donc a present j'essaie de charger des richtextbox dans les colonnes et lignes
    la je bloque sur comment on positionne des controls et si je peut en mettre plusieurs dans un tablelayoutpanel par N°Ligne et colonne correspondant.

    voici mon code
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            'TODO: cette ligne de code charge les données dans la table 'DBGMAODataSet.Intervention'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
            Me.InterventionTableAdapter.Fill(Me.DBGMAODataSet.Intervention)
            'TODO: cette ligne de code charge les données dans la table 'DBGMAODataSet.Personnel'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
            Me.PersonnelTableAdapter.Fill(Me.DBGMAODataSet.Personnel)
     
            Dim date01 As Date
            Dim date02 As Date
            Dim date03 As Date
            Dim date04 As Date
            Dim date05 As Date
            Dim date06 As Date
            Dim date07 As Date
     
            date01 = System.DateTime.Now.Date
            date02 = date01.AddDays(1)
            date03 = date01.AddDays(2)
            date04 = date01.AddDays(3)
            date05 = date01.AddDays(4)
            date06 = date01.AddDays(5)
            date07 = date01.AddDays(6)
     
            TextBox1.Text = date01
            TextBox2.Text = date02
            TextBox3.Text = date03
            TextBox4.Text = date04
            TextBox5.Text = date05
            TextBox6.Text = date06
            TextBox7.Text = date07
     
            Dim dv01 As New DataView
            With dv01
                .Table = DBGMAODataSet.Personnel
     
     
            End With
     
     
            Dim lg As Integer = DBGMAODataSet.Personnel.Rows.Count
     
     
            Me.SuspendLayout()
     
            For X As Integer = 0 To 100 'lg
     
                TableLayoutPanel1.AutoSize = True
                TableLayoutPanel1.AutoScroll = True
                TableLayoutPanel1.RowStyles.Clear()
                TableLayoutPanel1.RowStyles.Add(New RowStyle(SizeType.Absolute, 60))
                DBGMAODataSet.Personnel.DefaultView.Sort = "Matricule,Nom ASC"
                Dim dtt01 As New DataTable
                dtt01 = DBGMAODataSet.Personnel.DefaultView.ToTable
     
     
     
                TableLayoutPanel1.Controls.Add(New Label, 0, X)
                TableLayoutPanel1.GetControlFromPosition(0, X).Text = Convert.ToString(dtt01.Rows(X).Item(0))
     
     
     
            Next
            Me.ResumeLayout()
            Dim DV10 As New DataView
            With DV10
                .Table = DBGMAODataSet.Intervention
                .RowFilter = "[Dates] ='" & date01 & "'"
            End With
            Dim dtb01 As New DataTable
            dtb01 = DV10.ToTable
            Dim nb As Integer = dtb01.Rows.Count
     
            For X As Integer = 0 To nb - 1
                Dim st01 As String = TableLayoutPanel1.GetControlFromPosition(0, X).Text
                Dim dv02 As New DataView
                With dv02
                    .Table = dtb01
                    .RowFilter = "[Personnel] ='" & st01 & "'"
                End With
                Dim dtb02 As New DataTable
                dtb02 = dv02.ToTable
                Dim lge As Integer = dtb02.Rows.Count
     
                For z As Integer = 0 To lge - 1
                    Dim hre As String = dtb02.Rows(0).Item(3).ToString
                    Dim ctr As Integer = dtb02.Rows(0).Item(4).ToString
                    Dim numerotxtbox As Integer
                    numerotxtbox = X + z
                    Create_PL(numerotxtbox, hre, ctr)
     
                Next
     
            Next
     
     
        End Sub

    et bien sur la fonction

    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 Function Create_PL(nbi As Integer, text01 As String, text02 As String)
     
            Dim ctrlRTB As New System.Windows.Forms.RichTextBox
            Dim RichTextBoxName As String
            RichTextBoxName = "RTBPL" & nbi
            With ctrlRTB
                .Name = RichTextBoxName
                .Visible = True
                .Width = 200
                .Height = 200
                .Text = Text01 & vbCrLf & text02
            End With
     
     
        End Function
    end function me retourne une erreur comme quoi tous les chemins ne retournent pas une valeur.

    donc besoin d'un serieux coup de pouce je sèche

    Soyez Magnanime hein y a le mot debutant les petits loups :-)

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Bonjour,

    Une "Function" doit retourner une valeur, d'où le message.
    Une "Sub" ne renvoie rien.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/03/2008, 10h10
  2. Positionnement d'objet dans une TD
    Par zooffy dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 30/01/2007, 11h45
  3. Positionner un objet dans l'espace.
    Par YmYannick dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 25/10/2006, 11h34
  4. superposer objets graphiques et les positionner
    Par trax44 dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 30/05/2006, 00h54
  5. [CSS] positionner un objet
    Par car dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 24/08/2005, 14h31

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