Accueil > > > DATAGRID + CHECKBOX
DATAGRID + CHECKBOX
Information sur la source
Description
Voici la source du tutoriel : http://www.vbfrance.com/tutoriaux/DATAGRID-AVEC- CHECKBOX_834.aspx Comme il m'a été demandé à plusieurs reprise voici donc la source fonctionnel.
Source
Option Explicit
Private bInSetCheckboxes As Boolean
Private Sub Form_Activate()
SetCheckboxes 1, cbTest 'Ici 1 représente la 2e colonne du DataGrid
End Sub
Private Sub SetCheckboxes(ColNdx As Long, ByRef ChkboxArray As Object)
bInSetCheckboxes = True
On Error GoTo ErrorExit
Dim i
Dim obj As Object
Set obj = dgTest
Dim OffsetX As Long, OffsetY As Long
If Not ChkboxArray(0).Container Is dgTest.Container Then
CalcContainerOffset obj, OffsetX, OffsetY
End If
On Error Resume Next
With dgTest
If (ChkboxArray.UBound <> .VisibleRows) Then
For i = ChkboxArray.UBound + 1 To .VisibleRows - 1
Load ChkboxArray(i)
ChkboxArray(i).Width = 190
ChkboxArray(i).Height = 190
Next
For i = .VisibleRows To ChkboxArray.UBound
Next
End If
OffsetX = OffsetX + (.Columns(ColNdx).Width - ChkboxArray(0).Width) / 2
OffsetY = OffsetY + 10 ''(.RowHeight - ChkboxArray(0).Height) / 2
.Columns(ColNdx).Alignment = dbgCenter
.Columns(ColNdx).Locked = True
If .LeftCol <= ColNdx Then
For i = 0 To .VisibleRows - 1
ChkboxArray(i).Value = Abs(.Columns(ColNdx).CellValue(.RowBookmark(i)))
ChkboxArray(i).Top = .Top + .RowTop(i) + OffsetY
ChkboxArray(i).Left = .Left + .Columns(ColNdx).Left + OffsetX
ChkboxArray(i).Visible = True
ChkboxArray(i).ZOrder
Next
Else
i = 0
End If
For i = i To ChkboxArray.UBound
ChkboxArray(i).Visible = False
Next
End With
ExitPoint:
bInSetCheckboxes = False
Exit Sub
ErrorExit:
Resume ExitPoint
End Sub
Private Function CalcContainerOffset(obj As Object, ByRef OffsetX As Long, ByRef OffsetY As Long)
Do While Not (obj.Container Is obj.Parent)
Set obj = obj.Container
If Not (obj Is Nothing) Then
OffsetX = OffsetX + obj.Left
OffsetY = OffsetY + obj.Top
If obj.BorderStyle = 1 Then '' fixed single
If obj.Appearance = 1 Then '' 3d
OffsetX = OffsetX + 30
OffsetY = OffsetY + 30
Else
OffsetX = OffsetX + 15
OffsetY = OffsetY + 15
End If
End If
End If
If (TypeOf obj Is Form) Or (TypeOf obj Is MDIForm) Then Exit Do
Loop
End Function
Private Sub dgTest_Scroll(Cancel As Integer)
SetCheckboxes 1, cbTest 'Ici 1 représente la 2e colonne du DataGrid
End Sub
Private Sub cbTest_Click(index As Integer)
Dim fr As Long
On Error Resume Next
fr = dgTest.FirstRow
With adoTemp.Recordset 'Ici j’utilise un ado mais vous pouvez utilize n’importe quel type de recordset ce bout de code ne doit donc pas être recopié tel quel. Ce code met à jour le champs attaché au checkbox avec la bonne valeur, ce champs doit etre de type boolean donc si vous utilisé SQL SERVER vous devez utilisé un colonne de type BIT.
.Filter = "LineID='" & index + fr & "'"
.Fields("Include").Value = cbTest(index).Value
.UpdateBatch
.Filter = "LineID<>''"
.Resync
End With
dgTest.FirstRow = fr
'Fin du code que vous devez adapter.
End Sub
Conclusion
En espérant que cette source puisse vous aidez.
Historique
- 04 avril 2008 15:15:24 :
- Il manquait un loop
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
VBA: utilisation de MSFlexGrid ou Datagrid avec checkbox [ par -=[ArsoN]=- ]
Je travaille présentement à un système de paye en vba et je voudrais savoir quelle type de grille est le plus facile à utiliserÉgalement, je cherche c
datagrid ADO..aidez moi!!! [ par neuil ]
salut a tous,j'ai un souci...je n'arrive pas à afficher le resultat d'une requete SQL dans ma datagrid sans passer par la pose d'un controle ADO!!il m
pbs de saisie avec datagrid liee a un controle ado [ par med ]
Bonjour,J'essaye de saisir des donnees sur un grille qui represente le detail d'une forme maitre/detail,le maitre et le detail sont relies a un meme c
Case à cocher dans un DataGrid ADO [ par inertia ]
Bonjour à tous,J'utilise un contrôle datagrid (ADO) lié à un contrôle Data (ADO) pour visualiser les données d'une base de données ORACLE.Certains cha
checkbox dans datagrid [ par yomm ]
j'ai un variable boolean et je cherche comment afficher un checkbox dans un datagrid afin de respecter la formatage de Access
checkbox et datagrid [ par jeanyves ]
A partir d'une base access qui contient un champ "case à cocher" je voudrais obtenir le même résultat lorsque je consulte cette base en vb et dans un
CheckBox + datagrid avec Sql Server [ par zenori ]
Bonjour,J'alimente un datagrid avec un adodc via une procédure stockée sous SQL Server.J'ai une colonne que je voudrais afficher avec une check box, e
requete Ado et Datagrid [ par eldjoule ]
El djouleBonjour, Voilà, je fais une requete sur un combo, et des que je selectionne un critère, je veux le résultat dans un datagrid !voici la requet
ado sans control et datagrid [ par besy ]
voila je suis debutant;)je voudrais afficher ds une datagrid le resultat d'une requete sql sur une base access mais sans controleur ado.donc voila la
Mettre des checkbox ou des combobox dans une datagrid [ par S16 ]
Bonjour,Comment fait-on pour afficher des checkbox ou des combobox dans une datagrid ?Pour l'instant, j'ai "0" ou "-1" à la place des checkbox.Merci d
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|