FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» SineCube
Saisir directement dans une cellule d'un GRID Emptypar Marc Aujourd'hui à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Saisir directement dans une cellule d'un GRID Emptypar Marc Aujourd'hui à 12:22

» Philharmusique
Saisir directement dans une cellule d'un GRID Emptypar jjn4 Hier à 13:58

» PANORAMIC V 1
Saisir directement dans une cellule d'un GRID Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Saisir directement dans une cellule d'un GRID Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Saisir directement dans une cellule d'un GRID Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Saisir directement dans une cellule d'un GRID Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Saisir directement dans une cellule d'un GRID Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Saisir directement dans une cellule d'un GRID Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
Saisir directement dans une cellule d'un GRID Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Saisir directement dans une cellule d'un GRID Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Saisir directement dans une cellule d'un GRID Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Saisir directement dans une cellule d'un GRID Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Saisir directement dans une cellule d'un GRID Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Saisir directement dans une cellule d'un GRID Emptypar leclode Sam 27 Avr 2024 - 17:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -28%
Précommande : Smartphone Google Pixel 8a 5G ...
Voir le deal
389 €

 

 Saisir directement dans une cellule d'un GRID

Aller en bas 
2 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Saisir directement dans une cellule d'un GRID Empty
MessageSujet: Saisir directement dans une cellule d'un GRID   Saisir directement dans une cellule d'un GRID EmptyMer 16 Nov 2022 - 16:07

Panoramic ne permet pas de saisir directement dans une cellule d'un GRID. Ceci peut être gênant.

Voici une solution 100 % Panoramic, sans DLL et sans API, pour pallier à ce problème, et ce quelque soient les dimensions des cellules !

Le mode d'emploi est en commentaire au début du code, que voici:
Code:
' demo_saisie_cellule_grid.bas

' Comment saisir directement dans une cellule d'un GRID
'
' 1. configurer le nombre de lignes et/ou colonnes du GRID
' 2. valider par le bouton "Configurer"
' 2.a. tirer éventuellement les bords de certaines colonnes et/ou lignes afin de varier les dimensions des cellules
' 3. cliquer dans une cellule ==> un champ de saisie s'affiche en remplacement de la cellule
' 4. saisir n'importe quel texte
' 5. cliquer sur le bouton "X" (annuler le mode saisie) ou dans n'importe quelle autre cellule
' 6. admirer le résultat.........

label configurer, click_grid, annuler, changer_cellule

dim x%, y%, l%, c%, lig%, col%, etop%, eleft%, ewidth%, eheight%

full_space 0
container 1 : top 1,10 : left 1,10 : width 1,350 : height 1,80
  caption 1,"Configuration"
alpha 2 : parent 2,1 : top 2,20 : left 2,20 : caption 2,"Nombre de lignes:"
alpha 3 : parent 3,1 : top 3,40 : left 3,20 : caption 3,"Nombre de colonnes:"
spin 4 : parent 4,1 : top 4,20 : left 4,140 : width 4,60
  min 4,2 : max 4,20 : position 4,5
spin 5 : parent 5,1 : top 5,40 : left 5,140 : width 5,60
  min 5,2 : max 5,20 : position 5,5
button 6 : parent 6,1 : top 6,30 : left 6,230 : caption 6,"Configurer"
  on_click 6,configurer
  
container 20 : top 20,10 : left 20,400 : width 20,400 : height 20,80
  caption 20,"Infos de la cellule"
  alpha 21 : parent 21,20 : top 21,20 : left 21,20 : caption 21,"Y = 0"
  alpha 22 : parent 22,20 : top 22,40 : left 22,20 : caption 22,"X = 0"
  alpha 23 : parent 23,20 : top 23,20 : left 23,80 : caption 23,"Ligne = 0"
  alpha 24 : parent 24,20 : top 24,40 : left 24,80 : caption 24,"Colonne = 0"
  alpha 25 : parent 25,20 : top 25,20 : left 25,160 : caption 25,"Top = 0"
  alpha 26 : parent 26,20 : top 26,40 : left 26,160 : caption 26,"Left = 0"
  alpha 27 : parent 27,20 : top 27,20 : left 27,240 : caption 27,"Height = 0"
  alpha 28 : parent 28,20 : top 28,40 : left 28,240 : caption 28,"Width = 0"
  
grid 10 : top 10,120 : left 10,10
  width 10,width_client(0)-20 : height 10,height_client(0)-130
  grid_row_sizing_on 10 : grid_column_sizing_on 10
  on_click 10,click_grid
  gosub configurer
button 11 : top 11,120+2 : left 11,10+2
  width 11,grid_one_column_width(10,1) : height 11,grid_one_row_height(10,1)
  caption 11,"X" : on_click 11,annuler
 edit 12 : hide 12 : font_italic 12 : font_color 12,0,0,255
   on_change 12,changer_cellule
  
end

configurer:
  grid_row 10,position(4)
  grid_column 10,position(5)
  for l%=1 to position(4)
    grid_write 10,l%,1,str$(l%)
  next l%
  for c%=1 to position(5)
    grid_write 10,1,c%,str$(c%)
  next c%
  return
  
click_grid:
  x% = mouse_x_left_down(10)
  y% = mouse_y_left_down(10)
  caption 21,"Y = "+str$(y%)
  caption 22,"X = "+str$(x%)
  lig% = grid_y_to_row(10,y%)
  col% = grid_x_to_column(10,x%)
  calculer_dimensions(10)
  caption 23,"Ligne   = "+str$(lig%)
  caption 24,"Colonne = "+str$(col%)
  caption 25,"Top   = "+str$(etop%)
  caption 26,"Left = "+str$(eleft%)
  caption 27,"Height = "+str$(eheight%)
  caption 28,"Width  = "+str$(ewidth%)
  afficher_saisie(10,12)
  return  
  
annuler:
  hide 12
  set_focus 10
  x% = 0
  y% = 0
  lig% = 0
  col% = 0
  caption 21,"Y = 0"
  caption 22,"X = 0"
  caption 23,"Ligne = 0"
  caption 24,"Colonne = 0"
  caption 25,"Top = 0"
  caption 26,"Left = 0"
  caption 27,"Height = 0"
  caption 28,"Width  = 0"
  return
  
changer_cellule:
  grid_write 10,lig%,col%,text$(12)
  return
  
sub calculer_dimensions(ngrid%)
  dim_local i%, j%
  
  etop% = top(ngrid%)
  if lig%>1
    for i%=1 to lig%-1
      etop% = etop% + grid_one_row_height(ngrid%,i%)
    next i%
  end_if
  etop% = etop% + 2
  eleft% = left(ngrid%)
  if col%>1
    for i%=1 to col%-1
      eleft% = eleft% + grid_one_column_width(ngrid%,i%)
    next i%
  end_if
  eleft% = eleft% + 2
  
  eHeight% = grid_one_row_height(ngrid%,lig%)
  ewidth% = grid_one_column_width(ngrid%,col%)
  
end_sub

sub afficher_saisie(ngrid%,nedit%)
  top nedit%,etop%
  left nedit%,eleft%
  width nedit%,ewidth%
  height nedit%,eheight%
  text nedit%,grid_read$(ngrid%,lig%,col%)
  show nedit%
  set_focus nedit%
end_sub
  
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2394
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Saisir directement dans une cellule d'un GRID Empty
MessageSujet: Re: Saisir directement dans une cellule d'un GRID   Saisir directement dans une cellule d'un GRID EmptyJeu 17 Nov 2022 - 9:43

Bonjour Klaus et bonjour à tous !

Nous avons eu la même idée !
J’avais publié un système équivalent qui faisait appel à un MEMO au lieu d’un EDIT.
Voici le lien pour retrouver l’article : https://panoramic.1fr1.net/t6668-grid-cellules-en-mode-edition

Pour pouvoir valider une saisie par la touche ENTER, j’avais donc opté pour un MEMO pour le mode édition. Quant au contrôle de saisie, la manière qu’une donnée est saisie ou abandonnée, le format et la mise en forme, chacun l’adapte comme il le souhaite.

Excellente journée et à bientôt !

Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Saisir directement dans une cellule d'un GRID Empty
MessageSujet: Re: Saisir directement dans une cellule d'un GRID   Saisir directement dans une cellule d'un GRID EmptyJeu 17 Nov 2022 - 9:51

Oui, en effet, Marc.

Je me souvenais qu'un code de ce genre avait déjà été publié, mais je n'arrivais pas à mettre la main dessus. alors, pour la dmo de saisie de cellules d'une matrice https://panoramic.1fr1.net/t6727p225-kgf_dll-nouvelles-versions#81697, j'avais rapidement écrit un code simple adapté à mon programme de démo. Puis, j'ai eu envie de généraliser, ce qui a donné le code ci-dessus.

En effet, ça fonctionne exactement comme ton code, à la différence près qu'il n'y a pas de validation par CR en fin de saisie d'une cellule, mais toutes les modifications sont reportées dans la cellule immédiatement.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Saisir directement dans une cellule d'un GRID Empty
MessageSujet: Re: Saisir directement dans une cellule d'un GRID   Saisir directement dans une cellule d'un GRID EmptyDim 20 Nov 2022 - 11:06

Juste pour info:
Je rappelle que l'objet KGFGrid de KGF.dll permet une saisie directe dans une cellule de la grille, à l'aide du clic droit dans la cellule. Ceci concerne les cellules de type numérique (entiers ou flottants, avec ou sans contrôle de validité) ainsi que les cellules de type texte ( une seule chaîne de caractères ou un texte complet de type mémo).

C'est objet est très puissant, peut-être un peu complexe à paramétrer, mais offrant une grande souplesse et puissance à l'exécution. On peut même avoir des images dans les cellules...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Saisir directement dans une cellule d'un GRID Empty
MessageSujet: Re: Saisir directement dans une cellule d'un GRID   Saisir directement dans une cellule d'un GRID Empty

Revenir en haut Aller en bas
 
Saisir directement dans une cellule d'un GRID
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Exemple d'une nouvelle version d'un GRID
» Marquage d'une cellule d'un GRID
» Quelle cellule d'un Grid est cliqué
» Saisie dans un objet GRID.
» Comment savoir quelle cellule d'un grid est cliquée

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: