gambaslinux.fr

Les Contrôles › La columnview

La ColumnView vous permet d'afficher, d'éditer des données sous forme de tableau.

Nous allons voir dans cette page toutes les actions les plus courantes à réaliser  :

Tutoriel pour manipuler des données

 

001.jpg


Nous allons réaliser une petite application pour apprendre à utliser une columnView.
Tout d'abord créons un projet graphique avec une ColumnView1, un bouton Button1 et un deuxieme bouton Button2.
Lors d'un appui sur le button1, nous afficherons la date dans la premiere colonne et des nombres alleatoires dans les autres colonnes.
Le button2 nous sevira a consulter les donnees dans les colonnes.

Commencons par dimensionner les colonnes a l'aide de la commande :

Définissons le nombre de colonne :

ColumnView1.Columns.Count = 4


Fixons la taille de la colonne 1 :

ColumnView1.Columns[0].Width = 200

donnons un nom a la colonne 1 avec :

ColumnView1.Columns[0].Text = "colonne 1"

faisons de meme avec les Quatres colonnes :

code1.jpg

definissons le code du premier bouton Button1 :

code2.jpg
Definissons le code du bouton 2

code3.jpg
Voila le resultat de notre appli.

002.jpg


Suppression d'une ligne

(Merci à Jack et linuxOs pour cette information)
 pour supprimer une ligne de votre columnview 2 solutions :
Si vous connaissez le numero de ligne (ou la clef) il vous suffit d'écrire ce code :

IF columnview1.exist[numkey] THEN
columnview1.remove(numkey)
END if

 ou alors vous pouvez procéder par sélectionner d'abord la ligne puis :

PUBLIC SUB columnview_keypress()
IF key.code = key.delete and columnview.count <> 0 THEN
IF message.question("etes-vous sur de vouloir supprimer cette ligne ?", "oui", "non") = 1 THEN
columnview.current.delete
ENDif
ENDif
END

Voici les sources a telecharger ICI

Remplir une ColumnView à l'aide d'une base sqlite

Nous allons remplir une columnview avec des données stockées dans un fichier de type sqlite3.

voici le code commenté :

déclaration des variables :
DIM sname AS String
DIM spercorso AS String
DIM $­­hconn AS new connection
DIM hres AS result
DIM sql AS String
DIM i AS Integer
DIM hFile AS File
DIM sLINE AS String
définition de la connexion à la base sqlite :
sname = "bddstock"
spercorso = application.path
with $­­hconn
.type = "sqlite3"
.host = spercorso
END with
$­­hconn.name = sname
$­­hconn.OPEN
sql = "select * from stock where mag like '%" & "" & "%'"
hres = $­­hconn.exec(sql)
IF hres.available = TRUE THEN
définition des noms des colonnes, taille et nombre :
columnview1.columns.count = 17
columnview1.columns[0].width = 50
columnview1.columns[0].text = "id"
columnview1.columns[1].text = "codeb"
columnview1.columns[2].text = "description"
columnview1.columns[3].text = "ref"
columnview1.columns[4].text = "fournisseur"
columnview1.columns[5].text = "udv"
columnview1.columns[7].text = "qte en stock"
columnview1.columns[7].text = "stock mini"
columnview1.columns[8].text = "stock max"
columnview1.columns[9].text = "simil"
columnview1.columns[10].text = "px achat"
columnview1.columns[11].text = "px vente"
columnview1.columns[12].text = "imputation"
columnview1.columns[13].text = "magasin"
columnview1.columns[14].text = "famille"
columnview1.columns[15].text = "qte achat"
remplissage de la columnvie avec la boucle FOR EACH NEXT :
FOR EACH hres
columnview1.add(i, now)
columnview1[i][0] = hres!id
columnview1[i][1] = hres!codeb
columnview1[i][2] = hres!produit
columnview1[i][3] = hres!ref
columnview1[i][4] = hres!fournisseur
columnview1[i][5] = hres!cond
columnview1[i][7] = hres!qte
columnview1[i][7] = hres!stockmin
columnview1[i][8] = hres!stockmax
columnview1[i][9] = hres!simil
columnview1[i][10] = hres!pxachat
columnview1[i][11] = hres!pxvente
columnview1[i][12] = hres!imp
columnview1[i][13] = hres!mag
columnview1[i][14] = hres!famille
columnview1[i][15] = hres!qtEACHat
incrémenter l'index de la ligne :
inc i
NEXT
ELSE
ENDif
END


Chaque ligne d'une columnview est pointée par un index. (ici la variable "i" )
à chaque passage de la boucle, il faut incrémenter l'index par la commande INC i
voilà pour aujourd'hui

Cet exemple est tiré de FreeGMAO le logiciel de gestion de PME PMI à consulter ici.

 

 

 

 

Votre Nom
:
Spheris
Votre commentaire
:

La ColumnView est bien utile pour organiser des données.

Date
:
02/02/2024 08:19