Dans ce cas, la méthode avec le Panel fonctionnera très bien
Dans ce cas, la méthode avec le Panel fonctionnera très bien
Bonsoir,
sauf erreur, tu testes si le contrôle est de type TextBox, puis tu tentes une conversion, celle ci me semble superflue (il y a peut être une raison, tu me le diras) :
et en condensé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 For Each ctrl As Control In Me.Controls If TypeOf ctrl Is TextBox Then machaine = ctrl.Text End If Next
Ensuite pour différencier les TextBox, si les Panels ne conviennent pas, il y a leur propriété Tag qui peut servir à stocker des données propres au contrôle ou à un groupe de contrôles :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 For Each ctrl In Me.Controls.OfType(Of TextBox)() machaine = ctrl.Text Next
exemple :
si ctrl.Tag = "groupe1" alors je traite sinon je ne traite pas ...
Enfin ceci reste à tester.
La dernière méthode de compile pas chez moi. Mais en effet, le cast est inutile dans ce cas on l'on souhaite récupérer uniquement le texte.
C'est sans doute "TypeOf" au lieu de "Of"
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 For Each ctrl In Me.Controls.OfType(TypeOf TextBox)() machaine = ctrl.Text Next
Bonsoir,
bizarre
Sous VS 2008 pro, fw 3.5 SP1, j'ai testé ce code :
Il me retourne bien les TextBox appartenant par leur Tag au "Groupe1".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim output1 As New System.Text.StringBuilder Dim query3 As IEnumerable(Of TextBox) query3 = Me.Controls.OfType(Of TextBox)().Where(Function(ctrl) ctrl.Tag.Equals("Groupe1") And Not ctrl.Tag.Equals(Nothing)) For Each ctrl As TextBox In query3 output1.AppendLine(ctrl.Text) Next MessageBox.Show(output1.ToString)
Salut tout le monde ,
je tiens à vous remercier pour votre aide et de m'avoir accorder votre temps. mais il me reste un tout petit problème
Bon J'ai réussie à récupérer les valeurs de mes Textboxe en utilisant le code que vous m'avez proposer, j'ai fais quelques modifications bien sur :
Le problème qui se pose c'est que en utilisant cette méthode mon tableau et remplit de la manière suivantes : TB1->TB2->TB7->TB8->TB3-TB4......
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 Dim tab_coti(60) As String 'le tableau ou je dois stocké les valeurs des Textboxe Dim Last As Integer = 0 ' une variable de teste Dim i As Integer = 0 ' un simple compteur For Each ctrl As Control In Me.form1.Controls If Last = 0 Then If TypeOf ctrl Is TextBox Then Dim ValBox As TextBox = CType(ctrl, TextBox) If ValBox.Text = String.Empty Then ' si je rencontre un Textbox vide je sort de la boucle Last = 1 GoTo a Else machaine = ValBox.Text.ToString End If If i Mod 2 = 0 Then ' si le Textbox conteint l'année tab_coti(i) = machaine i = i + 1 Else tab_coti(i) = CDbl(machaine) ' si le Textbox contient le montant de cotisation i = i + 1 End If End If End If Next
Moi je le veux de cette maniéré : TB1->TB2->TB3->TB4.....
La forme de mes Textboxe est en miniature , j'attends vos réponses Merci
Euh alors là, une question :
Pourquoi ne pas utiliser une dataGridView ?
Oui j'ai pensé à ça mais comme je débute sur Asp/vb.net j'ai réussie seulement a afficher les données de ma table avec une requête SELECT mais je vois pas comment faire pour l'insertion , si vous connaissez une simple méthode pour le faire ou quoi que ce soit qui peut m'aider je suis prenant .
Pour insérer des lignes sur la DGV ou en base ?
Pour mettre une ligne:
Pour les récupérer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part maDGV.Rows.Add(val1, val2, val3, ...)
Pour une cellule en particulier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part maDGV.Rows(n°Ligne)
Code : Sélectionner tout - Visualiser dans une fenêtre à part maDGV.Rows(n°Ligne).Cells(n°Colonne).Value
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 Dim tab_coti(60) As String 'le tableau ou je dois stocké les valeurs des Textboxe Dim Last As Integer = 0 ' une variable de teste Dim i As Integer = 0 ' un simple compteur For Each ctrl As Control In Me.form1.Controls If Last = 0 Then If TypeOf ctrl Is TextBox Then Dim ValBox As TextBox = CType(ctrl, TextBox) If ValBox.Text = String.Empty Then ' si je rencontre un Textbox vide je sort de la boucle Last = 1 GoTo a Else machaine = ValBox.Text.ToString End If If i Mod 2 = 0 Then ' si le Textbox conteint l'année tab_coti(i) = machaine i = i + 1 Else tab_coti(i) = CDbl(machaine) ' si le Textbox contient le montant de cotisation i = i + 1 End If End If End If Next
Bon courage a celui qui devra reprendre ce code...
Et surtout, les GOTO sont a bannir !
Et bien tu récupères tes cellules :
Puis tu les insères dans ta base de données avec une requête SQL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part maDGV.Rows(n°Ligne).Cells(n°Colonne).Value
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager