A l'aide please (MsflexGrid!!)

rich25200 Messages postés 155 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 31 janvier 2008 - 29 mai 2002 à 17:02
cs_vish Messages postés 82 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 12 mars 2003 - 29 mai 2002 à 17:35
jai un MsflexGrid et je veux que juste la premiere ligne soit grisé et qu'il m'affiche juste le nom des tables !!!!!

De plus je remplis mon MsflexGrid a laide d'une requete SQL !!

Comment je peux faire pour le remplir à partir de la deuxième ligne !!!

et que la premiere ligne il m'affiche le nom des tables ?

merci je viens de commencer en vb

2 réponses

cs_vish Messages postés 82 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 12 mars 2003
29 mai 2002 à 17:35
prossedure de mise en page du flexgrid :

Private Sub Affichage() 'procedure qui permetra de remettre en forme par ex les colonnes

grd_aff.SelectionMode = flexSelectionByRow
grd_aff.AllowUserResizing = flexResizeBoth

grd_aff.row = 0
grd_aff.Col = 0
grd_aff.Text = "Nom" 'NOM DU CHAMPS :Nom
grd_aff.ColWidth(0) = 1200

grd_aff.row = 0
grd_aff.Col = 1
grd_aff.Text = "Prénom" 'NOM DU cHAMPS :prenom
grd_aff.ColWidth(1) = 1300

grd_aff.row = 0 'indicatif ligne 0
grd_aff.Col = 2 'indicatif colone 2
grd_aff.Text = "Type" 'nom de la colone 0 ligne 0
grd_aff.ColWidth(2) = 1000 'taille largeur colonne 0

grd_aff.row = 0
grd_aff.Col = 3
grd_aff.Text = "Marque"
grd_aff.ColWidth(3) = 1000

grd_aff.row = 0
grd_aff.Col = 4
grd_aff.Text = "Modèle"
grd_aff.ColWidth(4) = 1400

grd_aff.row = 0
grd_aff.Col = 5
grd_aff.Text = "N/S Fabriquant"
grd_aff.ColWidth(5) = 2500

grd_aff.row = 0
grd_aff.Col = 6
grd_aff.Text = "N/S interne"
grd_aff.ColWidth(6) = 2000

grd_aff.row = 0
grd_aff.Col = 7
grd_aff.Text = "Statut"
grd_aff.ColWidth(7) = 600

End Sub

dans les propriete du flexgrid tu met :

fixedrows = 1 '1 ligne de fixe qui permet d'affichet le nom des champs
fixedcols = 1 ou 0

faire appelle a la prossedure lors du chargement de la forme

notre exemples :
Private Sub Form_Load()
Dim rs As New ADODB.Recordset
Dim strsql As String
Dim i As Integer

cn.Execute "delete from etat"

strsql = "select name, firstname, division, etage, type, marque, modele, sn_fab, sn_int, statut"
strsql = strsql & " from utilisateur, parc"strsql strsql & " where utilisateur.compteur parc.compteur order by name"
rs.Open strsql, cn, adOpenStatic, adLockReadOnly, adCmdText

Affichage 'mise en page

If rs.RecordCount <> 0 Then 'si resultat de recordset contient des lignes ('<>' = '=!')
grd_aff.Rows = rs.RecordCount + 1
i = 1

Do Until rs.EOF
grd_aff.row = i
grd_aff.Col = 0
grd_aff.Text = rs.Fields("name")

grd_aff.Col = 1
grd_aff.Text = rs.Fields("firstname")

grd_aff.Col = 2
grd_aff.Text = rs.Fields("type")

grd_aff.Col = 3
grd_aff.Text = rs.Fields("marque")

grd_aff.Col = 4
grd_aff.Text = rs.Fields("modele")

grd_aff.Col = 5
grd_aff.Text = rs.Fields("sn_fab")

grd_aff.Col = 6
grd_aff.Text = rs.Fields("sn_int")

grd_aff.Col = 7
grd_aff.Text = rs.Fields("statut")

i = i + 1
rs.MoveNext
Loop
End If
Set rs = Nothing

End Sub
0
cs_vish Messages postés 82 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 12 mars 2003
29 mai 2002 à 17:35
prossedure de mise en page du flexgrid :

Private Sub Affichage() 'procedure qui permetra de remettre en forme par ex les colonnes

grd_aff.SelectionMode = flexSelectionByRow
grd_aff.AllowUserResizing = flexResizeBoth

grd_aff.row = 0
grd_aff.Col = 0
grd_aff.Text = "Nom" 'NOM DU CHAMPS :Nom
grd_aff.ColWidth(0) = 1200

grd_aff.row = 0
grd_aff.Col = 1
grd_aff.Text = "Prénom" 'NOM DU cHAMPS :prenom
grd_aff.ColWidth(1) = 1300

grd_aff.row = 0 'indicatif ligne 0
grd_aff.Col = 2 'indicatif colone 2
grd_aff.Text = "Type" 'nom de la colone 0 ligne 0
grd_aff.ColWidth(2) = 1000 'taille largeur colonne 0

grd_aff.row = 0
grd_aff.Col = 3
grd_aff.Text = "Marque"
grd_aff.ColWidth(3) = 1000

grd_aff.row = 0
grd_aff.Col = 4
grd_aff.Text = "Modèle"
grd_aff.ColWidth(4) = 1400

grd_aff.row = 0
grd_aff.Col = 5
grd_aff.Text = "N/S Fabriquant"
grd_aff.ColWidth(5) = 2500

grd_aff.row = 0
grd_aff.Col = 6
grd_aff.Text = "N/S interne"
grd_aff.ColWidth(6) = 2000

grd_aff.row = 0
grd_aff.Col = 7
grd_aff.Text = "Statut"
grd_aff.ColWidth(7) = 600

End Sub

dans les propriete du flexgrid tu met :

fixedrows = 1 '1 ligne de fixe qui permet d'affichet le nom des champs
fixedcols = 1 ou 0

faire appelle a la prossedure lors du chargement de la forme

notre exemples :
Private Sub Form_Load()
Dim rs As New ADODB.Recordset
Dim strsql As String
Dim i As Integer

cn.Execute "delete from etat"

strsql = "select name, firstname, division, etage, type, marque, modele, sn_fab, sn_int, statut"
strsql = strsql & " from utilisateur, parc"strsql strsql & " where utilisateur.compteur parc.compteur order by name"
rs.Open strsql, cn, adOpenStatic, adLockReadOnly, adCmdText

Affichage 'mise en page

If rs.RecordCount <> 0 Then 'si resultat de recordset contient des lignes ('<>' = '=!')
grd_aff.Rows = rs.RecordCount + 1
i = 1

Do Until rs.EOF
grd_aff.row = i
grd_aff.Col = 0
grd_aff.Text = rs.Fields("name")

grd_aff.Col = 1
grd_aff.Text = rs.Fields("firstname")

grd_aff.Col = 2
grd_aff.Text = rs.Fields("type")

grd_aff.Col = 3
grd_aff.Text = rs.Fields("marque")

grd_aff.Col = 4
grd_aff.Text = rs.Fields("modele")

grd_aff.Col = 5
grd_aff.Text = rs.Fields("sn_fab")

grd_aff.Col = 6
grd_aff.Text = rs.Fields("sn_int")

grd_aff.Col = 7
grd_aff.Text = rs.Fields("statut")

i = i + 1
rs.MoveNext
Loop
End If
Set rs = Nothing

End Sub
0
Rejoignez-nous