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:
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:
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 :-) :D :ccool: