Gambas France BETA


Pas de compte ? Incription

ajouter une checkbox dans une tableview

Ce sujet est résolu.

1
AuteurMessages
kwuy33#1 Posté le 20/12/2013 à 11:37:04
Bonjour,
j'aimerai pouvoir rajouter une colonne supplementaire a ma tableview et cette colonne serait une checkbox mais je ne sais absolument pas comment faire.....
Merci pour votre aide
Jack#2 Posté le 21/12/2013 à 09:02:17
Bonjour,
nativement on peut faire cela avec une combobox mais je ne crois pas que cela soit possible avec une checkbox.
Je pense qu'il facile de contourner cela en utilisant deux images de checkbox, l'une inactive et l'autre active.
Si la valeur de la zone est nulle alors c'est l'image de la checkbox inactive qui est affichée.
Si on clique sur la zone on change d'image.
Pour un code démocratique nationalisons Gambas.
Reivillo#3 Posté le 22/12/2013 à 08:20:22
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonjour kwuy33.

Tu peux t'inspirer de ceci, peut-être...
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
PUBLIC mypic AS String[] = ["", "icon:/16/ok"]
PUBLIC SUB Form_Open()

GridView1.Columns.Count = 4
GridView1.Rows.Count = 4
GridView1.Columns[0].Width = 24
GridView1.h = (GridView1.Rows.Count - 1) * 24
GridView1[0, 0].Picture = Picture[mypic[1]]

END

PUBLIC SUB GridView1_DblClick()

IF GridView1.column = 0 THEN
WITH GridView1[GridView1.Row, 0]
' If .Picture = Picture[mypic[1]] Then
' .Picture = Picture[mypic[0]]
' Else
' .Picture = Picture[mypic[1]]
' Endif
.picture = picture[If(.picture = picture[mypic[1]], mypic[0], mypic[1])]
'A NOTER....Pas d'Espace entre < If >, et la < Parenthèse Ouvrante >
END WITH
ENDIF

END
Reivillo.
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
kwuy33#4 Posté le 24/12/2013 à 08:37:01
Merci bcp, je vais effectivement m'en inspirer
gambix#5 Posté le 24/12/2013 à 13:55:18
Faire simple !Le problème c'est le style ensuite. Si on veut que l'applis utilise le style courant du toolkit on doit utiliser une fonctionde dessin.

Mon conseil est donc de passer par un conteneur de données externe et d'utiliser l'évènement qui permet de dessiner la checkbox avec la fonction draw.style.


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
' Gambas class file

PRIVATE $aChekBoxes AS NEW Boolean[]

PUBLIC SUB Form_Open()

DIM i AS INTEGER
FOR i = 1 TO 200
$aChekBoxes.Add(CBool(Round(Rnd(0, 1))))

NEXT
GridView1.Rows.Count = $aChekBoxes.Count

GridView1.Columns.Count = 2
GridView1.Rows.Height = 24
GridView1.Columns[0].Width = 32
GridView1.Columns[1].Width = -1

END

PUBLIC SUB GridView1_Draw(X AS INTEGER, Y AS INTEGER, Width AS INTEGER, Height AS INTEGER, Row AS INTEGER, Column AS INTEGER)

IF Column = 0 THEN

Draw.Style.Check(x, y, Width, Height, $aChekBoxes[row])

ENDIF

END

PUBLIC SUB GridView1_Click()

DIM iRow AS INTEGER = LAST.RowAt(Mouse.y)
DIM iCol AS INTEGER = LAST.ColumnAt(Mouse.x)

IF iCol = 0 THEN
$aChekBoxes[iRow] = NOT $aChekBoxes[iRow]
LAST.Refresh
ENDIF
END
Moins de texte dans une signature c'est agrandir son espace.
kwuy33#6 Posté le 24/12/2013 à 13:59:53
Pas mal celle la, je vais tester pour voir meme si j'ai reussi avec la methode de Reivillo. Merci bcp Gambix
gambix#7 Posté le 24/12/2013 à 14:08:11
Faire simple !Dison que Moa je peux gérer aussi le focus, et toutes les subtilité graphique en respectant le style... et le toolkit
Moins de texte dans une signature c'est agrandir son espace.
kwuy33#8 Posté le 24/12/2013 à 14:15:38
j'avais bien compris ca comme ca ... ;)
Reivillo#9 Posté le 24/12/2013 à 16:17:48
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonsoir gambix.

Dison que Moa je peux gérer aussi le focus, et toutes les subtilité graphique en respectant le style... et le toolkit

T'aurais pas la Pastèque,
en cette fin d'Année 2013, dès fois!
Reivillo
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
gambix#10 Posté le 24/12/2013 à 22:12:54
Faire simple !Si on ne peut plus rigoler .... :-P
Moins de texte dans une signature c'est agrandir son espace.
1