Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: @lepetitmarocain <==> KGFGrid Mar 27 Fév 2024 - 12:21 | |
| Bonjour Lepetitmarocain, Je crée ce fil de discussion pour ne pas encombrer celui de Klaus. Ci-dessous, tu trouveras mon document de travail issu de ton code que tu nous as partagé. Il me permet de tester différentes fonctions de KGFGrid. C’est bien pratique. Je me suis permis de remanier le code pour me repérer plus facilement lors de mes tests. Il n’est pas encore fonctionnel. Il faut attendre les futures mises à jour de KGFGrid. - Citation :
- Je constate que sur les lignes fixes, il n'y a toujours pas de libellé, alors qu'il y en a dans le programme.
Si, il y a des libellés. Par contre, ils n’ont pas les options de justification du texte. Actuellement, et ceci de manière globale pour l’ensemble des cellules qui composent ces lignes fixes, on ne peut définir que les attributs appliqués au texte : police, taille, couleur, gras, italique, souligné ou barré. Les fonctions spécifiques aux lignes fixes sont : - Code:
-
dll_call4("SetKGFGridDefaultFixedCellFont",KG%,adr(s$),10,0) :' police, taille, couleur dll_call5("SetKGFGridDefaultFixedCellAttributes",KG%,1,1,0,0) :' gras, italique, souligné, barré J’ai morcelé ton code en SUBs. Si tu le souhaites, tu peux travailler dessus pour compléter les caractéristiques du corps du grid ( sub configurationCorpsGrid() ). J’ai mis certaines lignes en commentaires avec la mention N.A. qui signifie « Non Applicable ». C’est-à-dire que pour l’instant, ces fonctions ne sont pas actives/autorisées à cet endroit. - Code:
-
dim res%, KG%, nb_enr%
label redim0
width 0,width(0)-width_client(0) + 1120 height 0,height(0)-height_client(0) + 660 on_resize 0,redim0
dll_on "kgf"
nb_enr% = 25
creerKGFgrid()
end
' ------------------------------------------------------------------------------ sub creerKGFgrid() dim_local s$, c%, v$
' Configuration générale KG% = dll_call4("CreateKGFGrid",object_internal(0),handle(0),1,1) res% = dll_call5("LocateKGFGrid",KG%,10,50,1100,600) :' position x, y, largeur, hauteur res% = dll_call5("SetGlobalKGFGridDimensions",KG%,nb_enr%,18,100,25) :' nb lignes, nb colonnes, largeur, hauteur ' largeur des colonnes res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,1,1,10) : ' avant 100 res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,2,2,100) res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,3,3,80) res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,4,4,95) res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,5,5,350) res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,6,6,350) res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,7,7,100) res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,8,13,90) res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,14,14,1) res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,15,15,1) : ' avant 90 res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,16,16,1) : ' avant 50 res% = dll_call4("SetKGFGridColumnRangeWidth",KG%,17,17,600) : ' commentairen 2
configurationLigneFixe() configurationCorpsGrid()
end_sub ' ------------------------------------------------------------------------------ sub configurationLigneFixe() dim_local s$, v$ ' configuration de la ligne fixe s$ = "Arial" :' texte en Arial pour cellules fixes res% = dll_call4("SetKGFGridDefaultFixedCellFont",KG%,adr(s$),10,0) :' police, taille, couleur res% = dll_call5("SetKGFGridDefaultFixedCellAttributes",KG%,1,1,0,0) :' gras, italique, souligné, barré, pour cellules fixes res% = dll_call6("SetKGFGridCellRangeType",KG%,1,1,1,18,1) :' Type de données dans les cellules 1ere ligne res% = dll_call4("SetKGFGridRowRangeHeight",KG%,1,1,50) :' hauteur ligne fixe res% = dll_call6("SetKGFGridCellRangeFontSize",KG%,1,1,1,18,10) :' taille font 1ere ligne
' Titres des colonnes (dans la première ligne) v$ = "Date du Jour" res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,2,2,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,2,2,5)
v$ = "DA" res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,3,3,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,3,3,5)
v$ = "Ref." res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,4,4,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,4,4,5)
v$ = "Désignation." res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,5,5,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,5,5,5)
v$ = "Fournisseur" res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,6,6,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,6,6,5)
v$ = "DateAf.DA " res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,7,7,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,7,7,5)
v$ = "Date Dde Prix" res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,8,8,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,8,8,5)
v$ = "Dat.rec dev " res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,9,9,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,7,7,6)
v$ = "N°.cde " : ' cette ligne etait avnt 08/01/2024 Date de Commande res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,10,10,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,7,7,6)
v$ = "Dat.env cde " res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,11,11,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,7,7,6)
v$ = "Dat.AR " res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,12,12,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,7,7,6)
v$ = "AR Saisie" res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,13,13,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,7,7,6)
v$ = "Commentaire 1 ne sert plus " res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,14,14,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,7,7,6)
v$ = "Matr." res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,15,15,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,7,7,6)
v$ = "Ligne" res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,16,16,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,7,7,6)
v$ = "Commentaire 2 " res% = dll_call6("SetKGFGridCellRangeValue",KG%,1,1,17,17,adr(v$)) ' N.A. res% = dll_call6("SetKGFGridCellRangeJustification",KG%,1,1,7,7,6)
' Fixer la première ligne res% = dll_call2("SetKGFGridFixedRows",KG%,1) end_sub ' ------------------------------------------------------------------------------ sub configurationCorpsGrid() dim_local s$
' autoriser la saisie les cellules ************ : ' 03/01/2024 res% = dll_call6("SetKGFGridCellRangeEditable",KG%,2,nb_enr%,7,13,1) : ' 03/01/2024 res% = dll_call6("SetKGFGridCellRangeEditable",KG%,2,nb_enr%,17,17,1) : ' 03/01/2024 ' libéllé dans saisie cellule ****************************** ' ********************************* s$ = "date affectation.D.A" : ' cellule ["+str$(i%)+","+str$(j%)+"]" res% = dll_call6("SetKGFGridCellRangeQueryText",KG%,2,nb_enr%,7,7,adr(s$)) : ' date affectation D.A s$ = "date demande de Prix" : ' cellule ["+str$(i%)+","+str$(j%)+"]" res% = dll_call6("SetKGFGridCellRangeQueryText",KG%,2,nb_enr%,8,8,adr(s$)) : ' date demande de prix s$ = "date Reception Devis" : ' cellule ["+str$(i%)+","+str$(j%)+"]" res% = dll_call6("SetKGFGridCellRangeQueryText",KG%,2,nb_enr%,9,9,adr(s$)) : ' date reception devis s$ = "N° de Commande" : ' cellule ["+str$(i%)+","+str$(j%)+"]" res% = dll_call6("SetKGFGridCellRangeQueryText",KG%,2,nb_enr%,10,10,adr(s$)) : ' N° de Commande s$ = "date Envoi Commande" : ' cellule ["+str$(i%)+","+str$(j%)+"]" res% = dll_call6("SetKGFGridCellRangeQueryText",KG%,2,nb_enr%,11,11,adr(s$)) : ' date envoi Commande s$ = "Date A.R Saisie" : ' cellule ["+str$(i%)+","+str$(j%)+"]" res% = dll_call6("SetKGFGridCellRangeQueryText",KG%,2,nb_enr%,12,12,adr(s$)) : ' date A.R s$ = "Date A.R Saisie" : ' cellule ["+str$(i%)+","+str$(j%)+"]" res% = dll_call6("SetKGFGridCellRangeQueryText",KG%,2,nb_enr%,13,13,adr(s$)) : ' date A.R Saisie s$ = "Saisie Fournisseur" : ' cellule ["+str$(i%)+","+str$(j%)+"]" res% = dll_call6("SetKGFGridCellRangeQueryText",KG%,2,nb_enr%,6,6,adr(s$)) : ' saisie ou modif Fournisseur depuisligne 2 à X et cellule 6 ' saisie dans commentaire s$ = "Saisie Commentaire" : ' cellule ["+str$(i%)+","+str$(j%)+"]" res% = dll_call6("SetKGFGridCellRangeQueryText",KG%,2,nb_enr%,14,14,adr(s$)) : ' commentraire ' saisie dans commentaire 2 s$ = "Saisie Commentaire 2" : ' cellule ["+str$(i%)+","+str$(j%)+"]" res% = dll_call6("SetKGFGridCellRangeQueryText",KG%,2,nb_enr%,17,17,adr(s$)) : ' commentraire
end_sub ' ------------------------------------------------------------------------------ redim0: redimensionnementKGFGrid() return ' ------------------------------------------------------------------------------ sub redimensionnementKGFGrid() ' Redimensionnement de KGFGrid en fonction des dimensions de la fenetre 0
dim_local largeur%, hauteur% ' Calcul des marges largeur% = width_client(0) - 20 :' 20 ==> marges : 10 pixels à droite + 10 pixels à gauche hauteur% = height_client(0) - 60 : ' 60 ==> marges : 50 pixels en haut + 10 pixels en bas
' Redimensionnement de KGFGrid res% = dll_call5("LocateKGFGrid",KG%,10,50,largeur%,hauteur%) :' position x, y, largeur, hauteur ' Fixer la première ligne res% = dll_call2("SetKGFGridFixedRows",KG%,1) end_sub A bientôt et bonne continuation dans ton projet ! | |
|