Gambas France BETA


Pas de compte ? Incription

Donner le meme aspect a des gridview dans le meme form

Ce sujet est résolu.

1
AuteurMessages
spheris#1 Posté le 25/1/2012 à 17:41:46
Bonsoir,

Dans une form j'ai 5 gridview, et je souhaite remplir des cellules avec les meme textes, les memes couleurs d'arriere plan , les memes font, etc... genre ça :

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
GridView1[1, 1].Text = "Maison :"
GridView1[1, 1].Alignment = 2
GridView1[1, 2].Text = "2,1%"
GridView1[1, 2].Background = &H000000&
GridView1[1, 2].Foreground = &HFFFFFF&
GridView1[1, 2].Alignment = 3
GridView1[2, 1].Text = "voiture :"
GridView1[2, 1].Alignment = 2
GridView1[2, 2].Text = "2,1%"
GridView1[2, 2].Background = &H000000&
GridView1[2, 2].Foreground = &HFFFFFF&
GridView1[2, 2].Alignment = 3
GridView1[4, 1].Text = "camion :"
GridView1[4, 1].Alignment = 2
GridView1[4, 2].Text = "2,1%"
GridView1[4, 2].Background = &H000000&
GridView1[4, 2].Foreground = &HFFFFFF&
GridView1[4, 2].Alignment = 3
GridView1[5, 1].Text = "Velo:"
GridView1[5, 1].Alignment = 2
GridView1[5, 2].Text = "2,1%"
GridView1[5, 2].Background = &H000000&
GridView1[5, 2].Foreground = &HFFFFFF&
GridView1[5, 2].Alignment = 3
GridView1[7, 1].Text = "cabanon:"
GridView1[7, 1].Alignment = 2
GridView1[7, 2].Text = "2,1%"
GridView1[7, 2].Background = &H000000&
GridView1[7, 2].Foreground = &HFFFFFF&
GridView1[7, 2].Alignment = 3
GridView1[9, 1].Text = "utilitaire:"
GridView1[9, 1].Alignment = 2
GridView1[9, 2].Text = "2,1%"
GridView1[9, 2].Background = &H000000&
GridView1[9, 2].Foreground = &HFFFFFF&
GridView1[9, 2].Alignment = 3
GridView1[11, 1].Text = "moto:"
GridView1[11, 1].Alignment = 2
GridView1[11, 2].Text = "2,1%"
GridView1[11, 2].Background = &H000000&
GridView1[11, 2].Foreground = &HFFFFFF&
GridView1[11, 2].Alignment = 3


et ca ce n'est que pour la gridview1 alors imaginez le monstre lourd code.
existe t il un moyen ? je suppose par les groupe et les tag mais je n'y arrive pas...
Merci pour votre aide.
;)
Prokopy#2 Posté le 25/1/2012 à 20:07:06
Kinder PinguiSalut spheris,

Je pense que tu peux utiliser une fonction et une boucle For pour raccourcir un peu tout ça :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
PRIVATE SUB InitGridView(grille AS GridView)
DIM Legendes AS String[] = ["Maison : ", "Voiture : ", "Camion : ", "Velo : "]
DIM i AS INTEGER

FOR i = 1 TO Legendes.Max
GridView1[i, 1].Text = Legendes[i]
GridView1[i, 1].Alignment = 2
GridView1[i, 2].Text = "2,1%"
GridView1[i, 2].Background = &H000000&
GridView1[i, 2].Foreground = &HFFFFFF&
GridView1[i, 2].Alignment = 3
NEXT
END

PUBLIC SUB Form_Open()
InitGridView(GridView1)
InitGridView(GridView2)
InitGridView(GridView3)
InitGridView(GridView4)
END


Et voilà. :)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
linuxos#3 Posté le 26/1/2012 à 00:20:16
Un peu de sel, de poivre et la crevette sera... Bonsoir,

Je me permets un petit correctif du a une erreur d'inattention:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
PRIVATE SUB InitGridView(grille AS GridView)
DIM Legendes AS String[] = ["Maison : ", "Voiture : ", "Camion : ", "Velo : "]
DIM i AS INTEGER

FOR i = 1 TO Legendes.Max
grille[i, 1].Text = Legendes[i] <--- 'grille' a la place de 'GridView1'
grille[i, 1].Alignment = 2
grille[i, 2].Text = "2,1%"
grille[i, 2].Background = &H000000&
grille[i, 2].Foreground = &HFFFFFF&
grille[i, 2].Alignment = 3
NEXT
END

PUBLIC SUB Form_Open()
InitGridView(GridView1)
InitGridView(GridView2)
InitGridView(GridView3)
InitGridView(GridView4)
END


Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
Prokopy#4 Posté le 26/1/2012 à 18:04:38
Kinder PinguiAh oui mince, merci. ;)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
gambix#5 Posté le 26/1/2012 à 23:10:58
Faire simple !on peut aussi passer par _data
Moins de texte dans une signature c'est agrandir son espace.
spheris#6 Posté le 26/1/2012 à 23:40:33
Ah bon ? Crois-tu que l'on gagne en ligne de code ?
gambix#7 Posté le 30/1/2012 à 11:17:27
Faire simple !ça dépend de ce que tu veux faire
Moins de texte dans une signature c'est agrandir son espace.
spheris#8 Posté le 30/1/2012 à 18:53:52
...???

Ben pour résumer :
http://gambaslinux.eg2.fr/articles.php?lng=fr&pg=1989
gambix#9 Posté le 30/1/2012 à 22:01:40
Faire simple !ça ne repond pas a ma question ... ce que tu veut faire avec tes tables
Moins de texte dans une signature c'est agrandir son espace.
spheris#10 Posté le 30/1/2012 à 22:32:46
Oui tu as raison, en fait je voulais faire ceci (recréer une interface virtuelle qui ressemble à ça):



mais multiplié par le nombre de capteurs d'un systeme d'acquisition analogique/digital.
pour chaque appareil virtuel, il me faut 4 lcd, 4 dial, 3 sliders.
J'ai donc pensé à utiliser une gridview dans laquelle en jouant sur les couleurs, je donne l'impression d'un appareil.
L'idée est tombé à l'eau, j'ai tout le matos pour le fabriquer en hard. avec liaison série sur GB.

Merci quand même pour ton aide.
;)
gambix#11 Posté le 2/2/2012 à 13:56:51
Faire simple !je n'aurait de toute les façon pas utilisé un gridview mais des containers.
Moins de texte dans une signature c'est agrandir son espace.
1