cs_latatia
Messages postés15Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention22 mars 2004
-
9 mars 2004 à 08:47
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 2006
-
9 mars 2004 à 16:12
Comment fait-on pour remplir une msFlexGrid en VB6
merci
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 9 mars 2004 à 09:59
labout
Mets un control data Adodc sans rien lui définir
Sous Option Explicit
Private Const MARGIN_SIZE = 60 ' en Twips
' variables pour le déplacement de colonne
Private m_bDragOK As Boolean
Private m_iDragCol As Integer
Private xdn As Integer
Private ydn As Integer
dans le load
' defini le contenu de ta requete
req='select * from table)
AdoDc.ConnectionString = ConnectStringData
AdoDc.RecordSource = req
AdoDC.Refresh
With MSHFlexGrid1
'.Redraw = False
' définir les largeurs des colonnes de la grille
.ColWidth(0) = 1100
.ColWidth(1) = 600
.ColWidth(2) = 930
.ColWidth(3) = 1035
.ColWidth(4) = 1200
.ColWidth(5) = 1200
.ColWidth(6) = 850
.ColWidth(7) = 1600
.ColWidth(8) = 1600
.ColWidth(9) = 930
.ColWidth(10) = 850
.ColWidth(11) = 1185
.ColWidth(12) = 1485
.ColWidth(13) = 2100
.ColAlignment(0) = flexAlignCenterCenter ' centre
.ColAlignment(1) = flexAlignRightCenter ' droite
.ColAlignment(4) = flexAlignRightCenter ' centre
.ColAlignment(5) = flexAlignRightCenter ' droite
.ColAlignment(6) = flexAlignRightCenter
.ColAlignment(7) = flexAlignRightCenter
.ColAlignment(8) = flexAlignRightCenter ' centre
.ColAlignment(9) = flexAlignCenterCenter ' centre
.ColAlignment(11) = flexAlignRightCenter ' droite
'.ColAlignment(13) = flexAlignRightCenter ' droite
' définir la fusion et le tri des colonnes de la grille
For i = 0 To .Cols - 1
.MergeCol(i) = True
Next i
.Sort = flexSortGenericDescending
' définir le style de la grille
.AllowBigSelection = True
' .FillStyle = flexFillRepeat
' mettre l'en-tête en gras
.Row = 0
.Col = 0
If Not AdoDC.Recordset.EOF Then
.RowSel = .FixedRows
End If
.ColSel = .Cols - 1
.CellFontBold = True
' estomper les autres colonnes
For i = .FixedCols To .Cols() - 1 Step 2
.Col = i
If AdoDc.Recordset.RecordCount > 0 Then
.Row = .FixedRows
End If
.RowSel = .Rows - 1
'.CellBackColor = &HC0C0C0 ' gris clair
Next i
If AdoDc.Recordset.RecordCount > 0 Then
.Row = 1
End If
.Col = 0
' .RowSel = .FixedRows - 1
.ColSel = .Cols - 1
.AllowBigSelection = False
.FillStyle = flexFillSingle
.Redraw = True
If Not AdoDc.Recordset.EOF Then
.CellBackColor = QBColor(14)
End If
.Col = 0
.CellFontBold = True
End With
ensuite
Private Sub MSHFlexGrid1_DragDrop(Source As Control, X As Single, Y As Single)
'-------------------------------------------------------------------------------------------
' le code dans les événements DragDrop, MouseDown, MouseMove et MouseUp de la grille permet de glisser /déplacer des colonnes
'-------------------------------------------------------------------------------------------
' on ne déplace pas
Exit Sub
If m_iDragCol = -1 Then Exit Sub ' pas de déplacement
If MSHFlexGrid1.MouseRow <> 0 Then Exit Sub
With MSHFlexGrid1
.Redraw = False
.ColPosition(m_iDragCol) = .MouseCol
Private Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'-------------------------------------------------------------------------------------------
' le code dans les événements DragDrop, MouseDown, MouseMove et MouseUp de la grille permet de glisser /déplacer des colonnes
'------------------------------------------------------------------------------------------
' pas de déplacement
Exit Sub
If MSHFlexGrid1.MouseRow <> 0 Then Exit Sub
xdn = X
ydn = Y
m_iDragCol = -1 ' réinitialiser l'indicateur de déplacement
m_bDragOK = True
End Sub
Private Sub MSHFlexGrid1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'-------------------------------------------------------------------------------------------
' le code dans les événements DragDrop, MouseDown, MouseMove et MouseUp de la grille permet de glisser /déplacer des colonnes
'-------------------------------------------------------------------------------------------
' pas de déplacement
Exit Sub
If Not m_bDragOK Then Exit Sub
If Button <> 1 Then Exit Sub ' mauvais bouton
If m_iDragCol <> -1 Then Exit Sub ' déplacement en cours
If Abs(xdn - X) + Abs(ydn - Y) < 50 Then Exit Sub ' déplacement encore insuffisant
If MSHFlexGrid1.MouseRow <> 0 Then Exit Sub ' l'en-tête doit être déplacée
' si nous en sommes là, commencer le déplacement
m_iDragCol = MSHFlexGrid1.MouseCol
MSHFlexGrid1.Drag vbBeginDrag
End Sub
Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'-------------------------------------------------------------------------------------------
' le code dans les événements DragDrop, MouseDown, MouseMove et MouseUp de la grille permet de glisser /déplacer des colonnes
'-------------------------------------------------------------------------------------------
m_bDragOK = False
End Sub
Sub DoSort()
With MSHFlexGrid1
.Redraw = False
.Col = 0
.Row = 1
.RowSel = .Rows - 1
.Sort = flexSortGenericDescending
.Redraw = True
End With
End Sub
Private Sub Form_Resize()
Dim sngButtonTop As Single
Dim sngScaleWidth As Single
Dim sngScaleHeight As Single
On Error GoTo Form_Resize_Error
With Me
sngScaleWidth = .ScaleWidth
sngScaleHeight = .ScaleHeight
' déplacer le bouton Fermer en bas à droite
With .Cmdfermer
sngButtonTop = sngScaleHeight - (.height + MARGIN_SIZE)
.Move sngScaleWidth - (.width + MARGIN_SIZE), sngButtonTop
End With
With Label2 ' texte en bas au centre
sngButtonTop = sngScaleHeight - (.height + MARGIN_SIZE)
.top = Me.height - 1020
.left = (Me.width - TextWidth(left(.Caption, 85))) / 2
End With
With Label3 ' je cherche
.left = (Me.width - TextWidth(.Caption) / 2)
.top = Cmdfermer.top + 50
End With
With MSHFlexGrid1
.height = Me.height - 2305
.width = Me.width - 150
End With
End With
Exit Sub
Form_Resize_Error:
' éviter les erreurs sur les valeurs négatives
Resume Next
End Sub
Private Sub MSHFlexGrid1_EnterCell()
Dim boucle As Integer
'Redéfinition de la couleur
For boucle = 0 To MSHFlexGrid1.Cols() - 1
MSHFlexGrid1.Col = boucle
MSHFlexGrid1.CellBackColor = QBColor(14)
MSHFlexGrid1.CellFontBold = True
Next boucle
MSHFlexGrid1.Col = 0
' MSHFlexGrid1.CellBackColor = QBColor(14)
' MSHFlexGrid1.CellFontBold = True
End Sub
Private Sub MSHFlexGrid1_LeaveCell()
Dim boucle As Integer
'Redéfinition de la couleur
For boucle = 0 To MSHFlexGrid1.Cols() - 1
MSHFlexGrid1.Col = boucle
MSHFlexGrid1.CellBackColor = &HFFFFFF
MSHFlexGrid1.CellFontBold = False
Next boucle
MSHFlexGrid1.Col = 0
' MSHFlexGrid1.CellBackColor = &HFFFFFF
' MSHFlexGrid1.CellFontBold = False
End Sub
cs_latatia
Messages postés15Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention22 mars 2004 9 mars 2004 à 16:01
Au moment de l'affichage des données dans la FlexGrid il n'affiche que le dernier du jeu d'enregistrement est ce que tu pouraais me dire comment on fait pour afficher toutes les données, j'utilise le controle .text et lorsque j'utilise le controle addItem ça me met bien toutes les données du jeu d'enregistrement mais ça me les mets dans la même colonne
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 9 mars 2004 à 16:10
labout
Ce que je t'ai donné c'est pour remplir à partir d'un recordset Adodb. Si tu prends le code tel quel il marche. je l'ai tiré d'une appli qui marche depuis belle lurette
@+
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 9 mars 2004 à 16:11
labout
Ce que je t'ai donné c'est pour remplir à partir d'un recordset Adodb. Si tu prends le code tel quel il marche. je l'ai tiré d'une appli qui marche depuis belle lurette
@+
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 9 mars 2004 à 16:12
labout
Ce que je t'ai donné c'est pour remplir à partir d'un recordset Adodb. Si tu prends le code tel quel il marche. je l'ai tiré d'une appli qui marche depuis belle lurette
@+