Gambas France BETA


Pas de compte ? Incription

GridView :

Exemple d'utilisation du GridView :





Exemple téléchargeable ici : GridView

Le GridView est souvent utilisé pour être alimenté par les enregistrements d'une base de données.

c'est le cas dans cet exemple où les champs de la base sont appelés par cette commande :
1
Resultat = DB.Current.Exec(FMain.triBase)

et les champs lus dans la base de données sont ceux-ci :
1
2
3
4
5
6
7
rMMS = Resultat!mms
rSD = Resultat!sd
rFR = Resultat!fr
rQT = Resultat!qt
rQM = Resultat!qm
rRCC = Resultat!rcc
rFichTech = Resultat!FichTech


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
PUBLIC SUB GridRemplis() 'remplissage du GridView

DIM Row AS INTEGER

IF NOT db.Current.Opened THEN
db.Current.Open
ENDIF

Resultat = DB.Current.Exec(FMain.triBase)'<-------------------------------- lecture de la base de données

IF Resultat.Available THEN
FOR EACH Resultat'<---------------------------------------------------- chaque enregistrement est décomposé en champ qui sera récupéré dans une colonne
rMMS = Resultat!mms
rSD = Resultat!sd
rFR = Resultat!fr
rQT = Resultat!qt
rQM = Resultat!qm
rRCC = Resultat!rcc
rFichTech = Resultat!FichTech
' champs calculés
cQTD = 2 * Pi * rFR * rMMS / (po * 344 * rSD)
cQE = rQM / ((rQM / rQT) - 1)
cCHP = rFR / cQE
cBL = Sqr(2 * Pi * rRCC * rFR * rMMS / cQE)
cFA = cBL / rMMS
cLAS = 344 / (2 * Pi * rFR)
cMAS = rMMS / rSD ^ 2
cVAS = po * 344 ^ 2 / ((2 * Pi * rFR) ^ 2 * cMAS)
cSAS = po * 344 / (2 * Pi * rFR * cMAS)
cRend = rFR ^ 3 * cVAS * 0.00000096 / cQE * 100
cEFF = 10 * Log10(cRend / 0.065) + 80
cDS = Sqr(4 * rSD / Pi)
' ajout colonne 25
cVDVAS = rMMS / po / cVAS
cQTDSD = cQTD * rSD
cQMRMS = 2 * Pi * rFR * rMMS
cQTQTD = rQT / cQTD
'
Row = Resultat.index '<-------------------------------------------- chaque ligne Row est égale à l'index des résultats
WITH GridView1'<--------------------------------------------------- alimentation du GridView lui-même
.Rows.Count = Resultat.Count'<--------------------------------- le nombre de lignes du GridView correspond au nombre d'enregistrements de la Base de Données
'champs de la base
.[Row, 0].Text = Resultat!numero'<-----------------------------[ligne, colonne].Text
.[Row, 1].Text = Resultat!marque'<----------------------------- chaque colonne d'une ligne est alimentée par un champ
.[Row, 2].Text = Resultat!reference'<-------------------------- en commençant par la colonne zéro jusqu'au dernier champ que nous voulons afficher
.[Row, 3].Text = Resultat!mms'<-------------------------------- les champs commençant par Resultat! faisant référence à un champ de la base de données
.[Row, 4].Text = Resultat!sd
.[Row, 5].Text = Resultat!fr
.[Row, 6].Text = Resultat!qt
.[Row, 7].Text = Resultat!qm
.[Row, 8].Text = Resultat!rcc
'champs dimensions
.[Row, 9].Text = Resultat!a
.[Row, 10].Text = Resultat!b
.[Row, 11].Text = Resultat!c
.[Row, 12].Text = Resultat!d
'champs calculés
.[Row, 13].Text = CStr(Format(cQTD, frmt1))'<------------------ les autres à des champs ajoutés (affectation directe) soit par calcul soit par une autre méthode
.[Row, 14].Text = CStr(Format(cCHP, frmt1))
.[Row, 15].Text = CStr(Format(cFA, frmt1))
.[Row, 16].Text = CStr(Format(cEFF, frmt1))
.[Row, 17].Text = CStr(Format(cRend, frmt1))
.[Row, 18].Text = CStr(Format(cQE, frmt1))
.[Row, 19].Text = CStr(Format(cSAS, frmt1))
.[Row, 20].Text = CStr(Format(cLAS, frmt1))
.[Row, 21].Text = CStr(Format(cVAS, frmt1))
.[Row, 22].Text = CStr(Format(cMAS, frmt1))
.[Row, 23].Text = CStr(Format(cBL, frmt1))
.[Row, 24].Text = CStr(Format(cDS, frmt1))
' ajout colonne 25
.[Row, 25].Text = CStr(Format(cVDVAS, frmt2))
.[Row, 26].Text = CStr(Format(cQTDSD, frmt2))
.[Row, 27].Text = CStr(Format(cQMRMS, frmt1))
.[Row, 28].Text = CStr(Format(cQTQTD, frmt1))
' blob
.[Row, 29].Text = Resultat!FichTech
END WITH
NEXT
Resultat.MoveNext'<---------------------------------------------------- enregistrement suivant
ENDIF
'
myRow = Resultat.Index
Compteur = Resultat.Count
textbox2.Text = " " & Str(Compteur) & " sur un total de " & Str(CompteurInit)
'

GridView1.Refresh()
WAIT'<-------------------------------------------------------------------- rafraîchir immédiatement le GriView pour éviter les problèmes liés à la clôture du programme

CATCH
Message.info("relancer le programme : " & Error.text)

END SUB



====================

Navigation :



<-- Liens du Wiki : <--
<-- Accueil du WIKI : <--
<-- Contrôle par Contrôle <--

====================

Documentation :



====================