PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → RuptureAjoute
RuptureAjoute
Débuté par priv!, 21 sep. 2017 13:03 - 3 réponses
Membre enregistré
222 messages
Popularité : +8 (8 votes)
Posté le 21 septembre 2017 - 13:03
Bonjour, j'ai tenté de reproduire l'exemple de la doc :
http://doc.pcsoft.fr/fr-fr/?1013305#NOTE8_1

Exemple :
// Ajout d'une rupture verte sur la date dans un champ Table
x est un Champ
x <- RuptureAjoute(TABLE_Commande.COL_DATE, "RuptDate", ruptHaut, 50)
x..CouleurFond = VertFoncé // Colorie en vert la rupture


1) ça ne colorie rien !

2) par programmation : comment mettre un libellé dans le bandeau pour indiquer la valeur de rupture car RuptureAjoute affiche juste un bandeau de rupture ?


Merci
Membre enregistré
222 messages
Popularité : +8 (8 votes)
Posté le 21 septembre 2017 - 14:56
AUTO réponse :

Solution : si un jour quelque se pose la même question
c'était juste pour un test j'ai pas cherché à faire propre (à vous d'améliorer)

pour la couleur de fond toujours rien mais ce n'était pas mon objectif premier.

//NETTOYAGE
RuptureSupprimeTout(chpTABLE_SansNom1)
TableSupprimeTout(chpTABLE_SansNom1)

//LIGNE DE TEST
TableAjouteLigne(chpTABLE_SansNom1,"A","1","A")
TableAjouteLigne(chpTABLE_SansNom1,"A","2","AA")
TableAjouteLigne(chpTABLE_SansNom1,"A","3","AAA")
TableAjouteLigne(chpTABLE_SansNom1,"B","1","B")
TableAjouteLigne(chpTABLE_SansNom1,"B","2","BB")
TableAjouteLigne(chpTABLE_SansNom1,"B","3","BBB")

//CREATION RUPTURE
x est un Champ
x <- RuptureAjoute(chpTABLE_SansNom1.chpCOL_SansNom1, "TEST", ruptHaut, 30)
x..CouleurFond = VertFoncé // Colorie en vert la rupture

//AJOUT LIBELLE DANS RUPTURE
y est un Champ
y <- ChampCrée("TEST.LibInfo",typLibellé,x..X+30, x..Y+10, 50 , x..Hauteur-10, Vrai)

//DONNE VALEUR RUPTURE AU LIBELLE DANS RUPTURE
POUR TOUTE LIGNE de chpTABLE_SansNom1
nIndiceRupture est un entier = TableIndiceRupture("chpTABLE_SansNom1.TEST")
{"chpTABLE_SansNom1["+nIndiceRupture+"].TEST.LibInfo",indChamp} = chpTABLE_SansNom1.chpCOL_SansNom1
FIN
Membre enregistré
165 messages
Popularité : +18 (20 votes)
Posté le 21 septembre 2017 - 15:51
Bonjour,

Pour votre soucis de couleur fond, je pense que cela provient du style de la table, plus précisément de l'élément "Rupture" : le cadre défini est certainement une image (c'est le cas en général si vous utilisez un gabarit du produit).
Passer le paramètre "Cadre" en "Aucun", et vous verrez apparaître la couleur.
Membre enregistré
15 messages
Popularité : +1 (1 vote)
Posté le 19 décembre 2022 - 22:53
Merci pour ces informations, elles ont été très utiles. Autant pour la création dynamique du libellé que pour le problème avec la couleur de fond à cause de l'image.

J'ai repris l'exemple et j'ai ajouté quelques modifications en utilisant entre autre les variables de type « Champ ».

Dans l'exemple de WinDev « Le champ Table avec rupture », j'ai ajouté la procédure suivante :

Procedure _Pr_CréerRupture()

leInd est un entier
leNbr est un entier
leX est un entier
leY est un entier
leLrg est un entier
leHtr est un entier

lsRupHt est une chaîne
lsRupBs est une chaîne
lsRupHtBs est une chaîne
lsLibRupHt est une chaîne
lsTotRupHt est une chaîne
lsTxt est une chaîne
lsVal est une chaîne

lchpRupHt est un Champ
lchpRupBs est un Champ
lchpLibRupHt est un Champ
lchpTotRupHt est un Champ

taeRup est un tableau associatif (SansDoublon, 0, wlEntier, 100) d'entiers

// Nettoyage
//
RuptureSupprimeTout(TABLE_Stats)
TableSupprimeTout(TABLE_Stats)

// Remplir le champ table
//
TableAjouteLigne(TABLE_Stats,"A","1","100")
TableAjouteLigne(TABLE_Stats,"A","2","200")
TableAjouteLigne(TABLE_Stats,"A","3","300")

TableAjouteLigne(TABLE_Stats,"B","1","500")
TableAjouteLigne(TABLE_Stats,"B","2","600")
TableAjouteLigne(TABLE_Stats,"B","3","700")
TableAjouteLigne(TABLE_Stats,"B","4","800")


// Création de la rupture
//
lsRupHt = "RUPT_Ht"
lsRupBs = "RUPT_Bs"

lsRupHtBs = ChaîneConstruit("%1%2%3", lsRupHt, TAB, lsRupBs)

(lchpRupHt, lchpRupBs) <- RuptureAjoute ( ...
TABLE_Stats.COL_LIBELLE ,
lsRupHtBs ,
ruptHautEtBas ,
45 ...
)

lchpRupHt..CouleurFond = VertFoncé // Colorie en vert la rupture
lchpRupBs..CouleurFond = RougePastel

lchpRupBs..Hauteur = 10

//AJOUT LIBELLE DANS RUPTURE
//
lsLibRupHt = "LIB_RupHt_Val"
lsTotRupHt = "LIB_RupHt_Tot"


// Création du libellé sur la rupture
// pour afficher la valeur de la rupture.
//
lsTxt = ChaîneConstruit("%1.%2", lsRupHt, lsLibRupHt)
leX = lchpRupHt..X + 30
leY = lchpRupHt..Y + 7
leLrg = 50
leHtr = lchpRupHt..Hauteur - 15

lchpLibRupHt <- ChampCrée ( ...
lsTxt ,
typLibellé ,
leX ,
leY ,
leLrg ,
leHtr ,
Vrai ...
)


lchpLibRupHt..CouleurFond = JauneOr
lchpLibRupHt..CadrageVertical = cvMilieu

// Création du libellé sur la rupture
// pour afficher le nombre d'item dans chaque rupture.
//
lsTxt = ChaîneConstruit("%1.%2", lsRupHt, lsTotRupHt)
leLrg = 30
leX = lchpRupHt..X + TABLE_Stats..Largeur - 30 - leLrg
leY = lchpRupHt..Y + 7
leHtr = lchpRupHt..Hauteur - 15

lchpTotRupHt <- ChampCrée ( ...
lsTxt ,
typLibellé ,
leX ,
leY ,
leLrg ,
leHtr ,
Vrai ...
)

lchpTotRupHt..CouleurFond = JauneOr
lchpTotRupHt..CadrageHorizontal = chDroite
lchpTotRupHt..CadrageVertical = cvMilieu


// Initialiser le libellé de chaque rupture
// pour afficher la valeur de la rupture.
//
POUR TOUTE LIGNE de TABLE_Stats

leInd = TableIndiceRupture(lchpRupHt)

lsVal = COL_LIBELLE

lchpLibRupHt[leInd] = lsVal

taeRup[leInd] ++
FIN



// Initialiser le libellé de chaque rupture
// pour afficher le nombre d'items par rupture.
//
POUR TOUT leNbr, leInd de taeRup

lchpTotRupHt[leInd] = leNbr
FIN



En espérant que cela puisse être utile à d'autres.

--
Sylvain Larue
Crescendo Consultants Inc.
La programmation, c'est passionnant !