|
| Ajuster la largeur des colonnes d'un table |
| Débuté par BHF, 11 juin 2013 15:16 - 16 réponses |
| |
| | | |
|
| |
Membre enregistré 65 messages |
|
| Posté le 11 juin 2013 - 15:16 |
Bonjour à tous.
Premier message, donc soyez indulgent . . . 
Voilà, j'ai plusieurs requêtes qui me ramenne un nombre de colonne différent (Req1 = 2 colonnes, Req2 = 15 colonnes, Req3 = 1 colonne, Req4 = x colonne(s), etc.).
Dans WinDev, pas de problème, il y a TableAjuste ; mais dans Webdev, bah ya pas !
Comment palier ce manque pour que je puisse adapter la largeur de mes colonnes sans cette fonction ? Quelqu'un a-t-il déjà fait ça ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 603 messages |
|
| Posté le 12 juin 2013 - 08:42 |
En code serveur: La propriété ..Largeur est disponible en modification uniquement pour les champs suivants : •Colonne de table.
Cordialement François |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 65 messages |
|
| Posté le 14 juin 2013 - 10:21 |
Merci mais ça ne fonctionne pas !
Voici le code que j'ai écrit pour afficher mes vues sans avoir besoin de connaitre la taille de celles-ci. Je précise que j'envoie dans une TABLE contenant 30 colonnes qui sont invisible au départ donc mes vues ne peuvent avoir que 30 champs max.
Procedure AfficheVue() Cmde est une chaîne ReqSelectVue est une Source de Données Entete est une chaîne UnChamp est une chaîne UneLigne est une chaîne
TableSupprimeTout(TABLE_Vues)
SI COMBO_Vues..ValeurAffichée = "" ALORS Info("Sélectionnez une vue.") RETOUR FIN
Cmde = "SELECT * FROM [" + COMBO_Vues..ValeurAffichée + "]" SI HExécuteRequêteSQL(ReqSelectVue, MaConnexion, hRequêteSansCorrection, Cmde) ALORS
Entete = HListeRubrique(ReqSelectVue, "", "", hLstDetail)
POUR nBcl = 1 _A_ ReqSelectVue..NbRubrique
{"TABLE_Vues.COL_Colonne" + nBcl}..Libellé = ExtraitChaîne(ExtraitChaîne(Entete, nBcl, RC), 1, TAB)
{"TABLE_Vues.COL_Colonne" + nBcl}..Visible = Vrai
SELON ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 3, TAB) CAS 0 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chGauche CAS 1 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 2 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chGauche CAS 3 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 4 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 5 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 6 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 7 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 8 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 9 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 10 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chCentre CAS 11 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chCentre CAS 12 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 13 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 14 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chCentre CAS 15 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chGauche CAS 16 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chGauche CAS 17 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 18 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chCentre CAS 19 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 20 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 21 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chCentre CAS 22 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite CAS 23 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chGauche CAS 24 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chCentre CAS 25 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chCentre CAS 26 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chGauche CAS 27 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chCentre CAS 28 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chGauche CAS 29 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chGauche CAS 30 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chGauche CAS 31 {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chDroite AUTRE CAS {"TABLE_Vues.COL_Colonne" + nBcl}..CadrageHorizontal = chGauche FIN FIN
HLitPremier(ReqSelectVue) TANTQUE PAS HEnDehors(ReqSelectVue) UneLigne = "" POUR nBcl = 1 _A_ ReqSelectVue..NbRubrique SELON ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 3, TAB) CAS 0 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 1 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 2 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 3 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 4 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 5 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 6 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 7 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 8 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 9 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 10 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 11 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} UnChamp = HeureVersChaîne(UnChamp, "HH:MM:SS") CAS 12 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 13 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 14 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} UnChamp = DateVersChaîne(UnChamp, "JJ / MM / AAAA") CAS 15 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 16 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 17 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 18 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 19 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 20 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 21 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 22 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 23 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 24 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} UnChamp = DateVersChaîne(Gauche(UnChamp, 8), "JJ / MM / AAAA") + " - " + HeureVersChaîne(Milieu(UnChamp, 9, 6), "HH:MM") CAS 25 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 26 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 27 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} SI UnChamp = 0 ALORS UnChamp = "Faux" SINON UnChamp = "Vrai" FIN CAS 28 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 29 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 30 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} CAS 31 UnChamp = {"ReqSelectVue." + ExtraitChaîne(ExtraitChaîne(Entete, (nBcl), RC), 1, TAB)} AUTRE CAS UnChamp = "" FIN UneLigne += TAB + UnChamp FIN UneLigne = Milieu(UneLigne, 2) TableAjoute(TABLE_Vues, UneLigne) HLitSuivant(ReqSelectVue) FIN
POUR nBcl = 1 _A_ ReqSelectVue..NbRubrique {"TABLE_Vues.COL_Colonne" + nBcl}..Largeur = Taille({"TABLE_Vues.COL_Colonne" + nBcl}..Titre) * 10 FIN
SELON HNbEnr(ReqSelectVue) CAS 0 : LIB_Message = " " + "Aucun enregistrement" CAS 1 : LIB_Message = " " + HNbEnr(ReqSelectVue) + " enregistrement" AUTRE CAS : LIB_Message = " " + HNbEnr(ReqSelectVue) + " enregistrements" FIN SINON Erreur(HErreurInfo()) FIN HAnnuleDéclaration(ReqSelectVue) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 603 messages |
|
| Posté le 14 juin 2013 - 11:27 |
Bonjour
Par l'affectation directe avec le nom de la colonne cela fonctionne (testé): Exemple colonne IDDOSS : TABLE.IDDOSS..Largeur = 1000
Cordialement François |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 65 messages |
|
| Posté le 14 juin 2013 - 12:20 |
Pourtant c'est bien ce que je fais (avec une indirection) !!
POUR nBcl = 1 _A_ ReqSelectVue..NbRubrique {"TABLE_Vues.COL_Colonne" + nBcl}..Largeur = Taille({"TABLE_Vues.COL_Colonne" + nBcl}..Titre) * 10 FIN
Et ça ne marche pas. Une autre piste peut-être (Description de la PAGE ou de la TABLE) . . . |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 603 messages |
|
| Posté le 14 juin 2013 - 12:47 |
Ce code fonctionne: // Change la largeur des colonnes POUR nBcl = 1 _A_ ReqSelectVue..NbRubrique {"TABLE_Vues.COL_Colonne" + nBcl}..Largeur =nBcl * 10 FIN Revoir Taille({"TABLE_Vues.COL_Colonne" + nBcl}..Titre) Il faut peut-être récupérer la variable du titre et faire taille(titre) Cordialement François |
| |
| |
| | | |
|
| | |
| |
| Posté le 14 juin 2013 - 15:57 |
Bonjour à tous
j'ai moi même constaté des problèmes avec certaines indirections en 18 (signalé au support, en attente de correction)... Comme il semble que vous ayez trouvé un autre cas d'indirection non fonctionnelle, je vous invite à la signaler au plus vite au support, histoire qu'ils puissent la corriger
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
Nouveau site web (EXPERIMENTAL) http://www.fabriceharari.eu (Plus d'information sur http://fabriceharari.com/index_FR.html)
On 6/14/2013 4:47 AM, "François SCHAAL" wrote:
Ce code fonctionne: // Change la largeur des colonnes POUR nBcl = 1 _A_ ReqSelectVue..NbRubrique {"TABLE_Vues.COL_Colonne" + nBcl}..Largeur =nBcl * 10 FIN Revoir Taille({"TABLE_Vues.COL_Colonne" + nBcl}..Titre) Il faut peut-être récupérer la variable du titre et faire taille(titre) Cordialement François |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 603 messages |
|
| Posté le 17 juin 2013 - 08:16 |
Bonjour Fabrice
Les indirections ne posent aucun problème puisque j'ai testé des boucles {"TABLE_Vues.COL_Colonne" + nBcl}..Largeur = xxx
Cordialement François |
| |
| |
| | | |
|
| | |
| |
| Posté le 17 juin 2013 - 09:03 |
bonjour
Mr Harari, Mr Schaal ou BHF savez vous svp comment récupérer la largeur des colonnes d'une table en code serveur si l'internaute a redimensionné la largeur des colonnes ?
pouvez vous me donner une piste svp avec un jspropriete ? avec getelementbyid ? avec d'autres fonctions ?
merci de vos infos |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 603 messages |
|
| Posté le 18 juin 2013 - 16:04 |
Non je n'ai pas d'idées mais si la gestion des largeurs de colonnes est stricte, pourquoi ne pas interdire simplement à l'internaute de pouvoir ajuster la largeur des colonnes ?
François |
| |
| |
| | | |
|
| | |
| |
| Posté le 18 juin 2013 - 17:07 |
bonjour
merci tout d'abord d'avoir répondu , je voudrais que l'utilisateur qui redimensionne ses colonnes de table ( cette possibilité est cochée par défaut sur les tables Ajax ) retrouve son dimensionnement personnel quand il revient sur cette même page
j'ai trouvé comment récupérer la largeur d'une image avec l'exemple WW_IntegrationCSS fourni avec Webdev 18 : j'utilise une procédure navigateur javascript appelée avec les noms d'alias des champs depuis un lien avec opération sur les champs aucune et action aucune
INFOLARGEUR(image1..alias,AFFLARGEUR..alias)
image1 est un champ image AFFLARGEUR est un champ qui me sert à afficher la largeur afin de la récupérer plus tard en code serveur
function INFOLARGEUR(imageNom,varaffichelargeur) { currentStatus = $(imageNom).getStyle("width"); $(varaffichelargeur).value = currentStatus+";" }
j'arrive a récupérer la largeur d'une table avec : INFOLARGEUR("dww"+Table1..alias,AFFLARGEUR..alias) si j'ai bien compris , webdev ajoute "dww" devant le nom des tables ... pour les colonnes je n'ai pas encore trouvé, je continu mes recherches
merci encore de votre aide |
| |
| |
| | | |
|
| | |
| |
| Posté le 16 décembre 2014 - 14:50 |
Bonjour à tous,
J'ai le même problème, le code de modification de la largeur de mes colonnes n'a pas d'effet sur les colonnes ma table. Par l'affectation directe avec le nom de la colonne cela ne fonctionne pas.
pouvez vous me donner une piste svp |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 58 messages |
|
| Posté le 14 janvier 2017 - 18:37 |
Bonjour,
En Webdev 20, l'affectation d'une largeur a une colonne de table fonctionne, y compris en utilisant des indirections. Ce code fonctionne bien par exemple : POUR i = 1 _A_ {psNomPage+"."+psNomListe+"..NombreColonne",indChamp} sCol = TableEnumèreColonne({psNomPage+"."+psNomListe,indChamp} , i) SI Val({psNomPage+"."+psNomListe+"."+sCol+"..Visible",indChamp}) = 1 ALORS nLargeur = Val(ExtraitChaîne(sChaine,i,";")) SI nLargeur > 0 ALORS {psNomPage+"."+psNomListe+"."+sCol+"..Largeur",indChamp} = nLargeur FIN FIN FIN
Par contre, impossible de récupérer la largeur des colonnes si l'utilisateur les a modifiées !!.... C'est dommage !! |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 58 messages |
|
| Posté le 16 janvier 2017 - 11:32 |
Bon, en cherchant un peu, j'ai trouvé comment récupérer la largeur des colonnes d'une table dans une page web. Dans cette exemple, le champ de saisi "SAI_LargeurColonne" reçoit la valeur de la largeur de la 1ère colonne de la table dont l'alias est "A63".
En code navigateur WL : SAI_LargeurColonne = JSPropriété("document.getElementById('A63_TITRES_0')","offsetWidth")
La valeur en Javascript : document.getElementById("A63_TITRES_0").offsetWidth; |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 12 messages |
|
| Posté le 23 mai 2021 - 16:52 |
Voici la solution pour fixer une colonne en largeur 
COL_Macolonne..Largeur=100 dans le code d'init... de la colonne à fixer
ça a comme effet de ne pas redimensionner les autres colonnes en largeur cependant.
Bon devs !
-- 24PM SCRL http://www.24pm.be +3223188777 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 5 messages |
|
| Posté le 26 septembre 2023 - 18:10 |
Voici un code qui fait le travail... Sur Webdev (qui n'a pas la fonction tableajuste... Donc on s'arrange avec ca...
nomcol est une chaîne nbcarParColMax est un tableau <agrandissement = 1> de entier nbcarColActuelle est un entier TailleEnPixelDunChar est un entier = 8
// recuperation de la largeur max de chaque colonnes du tableau... POUR i = 1 À TABLE_ExempleContenuFichierPopup.Occurrence POUR col = 1 À TABLE_ExempleContenuFichierPopup.NombreColonne nomcol = "TABLE_ExempleContenuFichierPopup["+i+"].COL_SansNom"+col nbcarColActuelle = Taille ({nomcol}) SI nbcarColActuelle> nbcarParColMax[col] ALORS nbcarParColMax[col]= nbcarColActuelle FIN FIN FIN
// agrandissement de chaque colonne au max nécessaire tailleAAttribuer est un entier taillemaxDuneCol est un entier = 30 *TailleEnPixelDunChar POUR x = 1 À TABLE_ExempleContenuFichierPopup.NombreColonne nomcol = "TABLE_ExempleContenuFichierPopup.COL_SansNom"+x+".Largeur" tailleAAttribuer = nbcarParColMax[x]*TailleEnPixelDunChar SI tailleAAttribuer > taillemaxDuneCol ALORS tailleAAttribuer = taillemaxDuneCol FIN {nomcol} = tailleAAttribuer FIN
J'espère que ca aide! |
| |
| |
| | | |
|
| | |
| |
| Posté le 03 décembre 2025 - 11:00 |
lflessard a écrit :
Voici un code qui fait le travail... Sur Webdev (qui n'a pas la fonction tableajuste... Donc on s'arrange avec ca...
nomcol est une chaîne nbcarParColMax est un tableau <agrandissement = 1> de entier nbcarColActuelle est un entier TailleEnPixelDunChar est un entier = 8
// recuperation de la largeur max de chaque colonnes du tableau... POUR i = 1 À TABLE_ExempleContenuFichierPopup.Occurrence POUR col = 1 À TABLE_ExempleContenuFichierPopup.NombreColonne nomcol = "TABLE_ExempleContenuFichierPopup["+i+"].COL_SansNom"+col nbcarColActuelle = Taille ({nomcol}) SI nbcarColActuelle> nbcarParColMax[col] ALORS nbcarParColMax[col]= nbcarColActuelle FIN FIN FIN
// agrandissement de chaque colonne au max nécessaire tailleAAttribuer est un entier taillemaxDuneCol est un entier = 30 *TailleEnPixelDunChar POUR x = 1 À TABLE_ExempleContenuFichierPopup.NombreColonne nomcol = "TABLE_ExempleContenuFichierPopup.COL_SansNom"+x+".Largeur" tailleAAttribuer = nbcarParColMax[x]*TailleEnPixelDunChar SI tailleAAttribuer > taillemaxDuneCol ALORS tailleAAttribuer = taillemaxDuneCol FIN {nomcol} = tailleAAttribuer FIN
J'espère que ca aide!
La propriété largeur est indsponible en webdev28. Existe-t-il une solution fiable et pérenne au redimenssionnement de colonne de table webdev |
| |
| |
| | | |
|
| | | | |
| | |
|