Gambas France BETA


Pas de compte ? Incription

GB3_?GridView_Colorisation et Icones.

Ce sujet est résolu.

1
AuteurMessages
Reivillo#1 Posté le 22/5/2013 à 10:32:31
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonjour à Toutes et Tous.

2 Questions à propos du GridView.

1: Peut-on Coloriser toutes les Cellules,
d'une seule lignes d'un coup, ou faut-il passer obligatoirement,
par une Boucle, pour le faire Individuellement.

2: Comment récupérer l' Icone des Fichiers listés,
pour les faire apparaître en Picture dans une Cellule voisine.

Allez! au boulot, les Gambasos.

Merci d'avance.

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#2 Posté le 30/5/2013 à 11:56:42
Faire simple !Ok je m'y colle ... de plus ça me concerne ... j'ai écrit la classe qui permet de récupérer les icones associées aux fichiers de données.


Ton problème c'est que tu continue a utiliser le gridview comme outil de stockage.

pour moi coloriser une ligne sur deux en bleu se résume à :


1
2
3
4
5
PUBLIC SUB GridView_Data(Row AS INTEGER, Column AS INTEGER)

LAST.Data.BackColor = IIf(Row MOD 2 = 0 , color.Normal, Color.Blue)

END




Bon Maintenant plus complexe... Afficher les icones


Primo je liste les fichiers ... tien par exemple dans un event de bouton.

On prévoit un tableau de chaines et c'est lui qui stockera la liste ... je ne manipule rien dans le grid view ... c'est uniquement un afficheur de données.

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
PRIVATE $aFiles AS NEW String[]

PUBLIC SUB _New()

GridView1.Columns.Count = 2
GridView1.Columns[0].Width = 200
GridView1.Columns[1].Width = 48
GridView1.Rows.Height = 48

END


PUBLIC SUB Button1_Click()

FOR EACH s IN Dir(User.Home,"*", gb.File)
$aFiles.Add(User.Home &/ s)
NEXT
GridView1.Rows.Count = $aFiles.Count
GridView1.Refresh

END


PUBLIC SUB GridView1_Data(Row AS INTEGER, Column AS INTEGER)

LAST.Data.BackColor = IIf(Row MOD 2 = 0 , color.Normal, Color.Blue)

SELECT CASE Column
CASE 1
LAST.Data.Text = File.Name($aFiles[Row])
CASE 2
LAST.Data.Picture = DeskTopMime.FromFile[$aFiles[Row]].GetIcon(32).Picture
END

END


Voila comment je procèderais. Pour DesktopMime il faut penser a ajouter gb.Desktop.
Moins de texte dans une signature c'est agrandir son espace.
Reivillo#3 Posté le 30/5/2013 à 13:01:17
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonjour gambix.

Merci pour ta réponse.

Vais étudier tes Tuyaux cette fin de semaine.

Je ferai un Retour de Résultats.

@+.
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
Reivillo#4 Posté le 4/6/2013 à 14:25:01
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Enfin le Retour.

Après Tests,
l'exemple est Bien.

Mais, après Corrections,
c'est mieux.

Reivillo.


1
2
3
4
5
PUBLIC SUB GridView_Data(Row AS INTEGER, Column AS INTEGER)

LAST.Data.Background = IIf(Row MOD 2 = 0, color.Default, Color.Blue)

END


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

PRIVATE $aFiles AS NEW String[]
PUBLIC SUB _new()

WITH GridView1
.Columns.Count = 3
.Columns[1].Width = 200
.Columns[0].Width = 35

.Rows.Height = 32
END WITH

END

PUBLIC SUB Form_Open()


END

PUBLIC SUB Button1_Click()

DIM s AS STRING

FOR EACH s IN Dir(User.Home, "*", gb.File).Sort()
$aFiles.Add(User.Home &/ s)
NEXT

GridView1.Rows.Count = $aFiles.Count
GridView1.Refresh

END

PUBLIC SUB GridView1_Data(Row AS INTEGER, Column AS INTEGER)

LAST.Data.Background = IIf((Row AND &H1) = 0, color.Default, Color.LightGray)

SELECT CASE Column
CASE 1
LAST.Data.Text = File.Name($aFiles[Row])
CASE 0
LAST.Data.Picture = DeskTopMime.FromFile($aFiles[Row]).GetIcon(32).Picture

END SELECT

END
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#5 Posté le 4/6/2013 à 19:35:46
Faire simple !J'ai fait ça de mon tel portable ... alors je n'ai pas pus tester :) dsl
Moins de texte dans une signature c'est agrandir son espace.
1