salut à tous
comment Imprimer une table créée par ConstruitTableFichier()?
salut à tous
comment Imprimer une table créée par ConstruitTableFichier()?
Il faut créer un état sur table
Quand tu es sur la fenêtre où figure la table, dans le menu "Insertion" / "Spécial" / "Bouton état sur table"
En l'état cet état n'est pas fonctionnel puisqu'on ne peut pas savoir à l'avance les colonnes qui vont être créées par ConstruitTableFichier().
Tu vas dans la description du tableau de l'état, sur la 1ère et seule colonne et assure toi qu'elle est de type texte.
Sur la 1ère colonne on va y donner une largeur moyenne pour que toutes les colonnes entrent sur la largeur de l'état.
Puis on va la cloner autant que la table à de colonne.
Enfin on attribue le libellé d'entête et le cadrage des valeurs idem à la table d'origine (on ne peut pas récupérer le type puisque la propriété n'est pas disponible dans l'état).
Dans l'état, clic bouton droit "Code de l'état"
Dans la section de code "Ouverture de l'état" (pense d'adapter le code en fonction du nom de la fenêtre et de la table)
Puis sur le bloc du corps, clic bouton droit "Code du bloc"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 gnNb_col est un entier = TableOccurrence(FEN_SansNom4.TABLE_SansNom1,toColonne) gnLargeur_totale est un entier = 170 gnLargeur_moyenne est un entier = PartieEntière(gnLargeur_totale / gnNb_col) i est un entier nXLib,nYLib,nXRub,nYRub sont des entiers nYLib = LIB_COL_SansNom1..Y nXLib = LIB_COL_SansNom1..X + gnLargeur_moyenne nYRub = RUB_COL_SansNom1..Y nXRub = RUB_COL_SansNom1..X + gnLargeur_moyenne LIB_COL_SansNom1 = {"FEN_SansNom4.TABLE_SansNom1._COL1"}..Libellé LIB_COL_SansNom1..Largeur = gnLargeur_moyenne RUB_COL_SansNom1..Largeur = gnLargeur_moyenne RUB_COL_SansNom1..CadrageHorizontal = {"FEN_SansNom4.TABLE_SansNom1._COL1"}..CadrageHorizontal POUR i = 2 A gnNb_col ChampClone(LIB_COL_SansNom1,"LIB_COL_SansNom"+i,nXLib,nYLib) nXLib = {"LIB_COL_SansNom"+i}..X + gnLargeur_moyenne {"LIB_COL_SansNom"+i} = {"FEN_SansNom4.TABLE_SansNom1._COL"+i}..Libellé ChampClone(RUB_COL_SansNom1,"RUB_COL_SansNom"+i,nXRub,nYRub) nXRub = {"RUB_COL_SansNom"+i}..X + gnLargeur_moyenne {"RUB_COL_SansNom"+i}..CadrageHorizontal = {"FEN_SansNom4.TABLE_SansNom1._COL"+i}..CadrageHorizontal FIN
Dans la section de code "Avant impression du corps" (pareil pense d'adapter le code en fonction du nom de la fenêtre et de la table)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 POUR i = 1 A gnNb_col {"RUB_COL_SansNom"+i} = {"FEN_SansNom4.TABLE_SansNom1._COL"+i} FIN
Bonjour
Nous venons à l'instant de publier un composant permettant l'impression des tables. Une ligne de code permet d'imprimer n'importe quelle table, y compris donc celles créées par ConstruitTableFichier (qui a été principalement utilisé durant nos tests).
Il s'appelle clapPrint et est disponible en téléchargement sur notre site.
Espérant que ça réponde à votre besoin.
Bon dev.
Beaucoup plus simple que ce que j'ai proposé hier soir avec la fonction TableImprime()
Il suffit de placer ce code dans un bouton
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // Spécification des paramètres d'impression : // avec aperçu, en mode paysage iAperçu(i100) iParamètre(iOrientation, iOrientation_Paysage) // Impression de la table, sans la date et avec le nombre de pages TableImprime(TABLE_SansNom1)
Merci Mr laurent30s
voilà c'est très simple
je voulais te montrer le code mais tu la publié avant moi
EDIT :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // Spécification des paramètres d'impression : // avec aperçu, en mode paysage iAperçu(i100) iParamètre(iOrientation, iOrientation_Paysage) // Impression de la table, sans la date et avec le nombre de pages TableImprime(TABLE_SansNom1)
une petite remarque concernant les tables sur windev
*l'ajout des colonnes se fait toujours à droite est ce que je peux le changer à gauche ?
-est ce que je peux déplacer une colonne à droite (je parle d'une table créée par ConstruitTableFichier())?
*
Tu peux déplacer les colonnes avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part -est ce que je peux déplacer une colonne à droite (je parle d'une table créée par ConstruitTableFichier())?
TableDéplaceColonne(<Nom de la table> , <Nom de la colonne> , <Indice de la colonne destination>)
Penses que les colonnes créées par ConstruitTableFichier() portent les noms "_COL1", "_COL2", "_COL3", etc...
je sais que TableDéplaceColonne() déplace les colonnes mais si en veut qu'une colonne reste toujours a droite
Partager