PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → WD18 - Table : Position de la ligne en cours après tri sur entête de colonne
WD18 - Table : Position de la ligne en cours après tri sur entête de colonne
Débuté par CHAEF, 20 jan. 2025 06:01 - 2 réponses
Membre enregistré
1 message
Posté le 20 janvier 2025 - 06:01
Bonjour,
Le titre résume je pense mon petit problème, je suis sûr de passer à côté d'un truc tout simple...
Après un clic sur un entête de colonne d'une table rempli par une requête, la ligne en cours disparait au fin fond de la table...
Un monté/descendre avec les flèches fait réapparaitre la ligne en cours, mais bon, ça doit bien être automatique mais je tourne en rond et ne trouve pas...

--
Vieux développeur avec un vieux WD18...
Membre enregistré
752 messages
Posté le 20 janvier 2025 - 11:18
Bonjour,
Essayez un "TableAffiche" (avec les constantes "taCourantBandeau", taCourantPremier")
Cdlt
Posté le 20 janvier 2025 - 15:42
CHAEF a écrit :
> Bonjour,

Bonjour

Je vois votre problème, vous souhaitez avoir une table sans bug lors s'un clique sur une colonne, j'ai deux solutions pour vous

1. Soit vous devrez vérifier la syntaxe TableAffiche() comme @Cédric_34 à écrit, ensuite vous devrez mettre dans l'initialisation de la fenêtre ou dans un clique de bouton dans une procédure si serait possible
2. Soit vous devrez écrire sur la syntaxe HExécuteRequêteSQL

Voilà un programme dont vous pouvez utiliser
// EDD (01/25) : créer une nouvelle bouton pour lister les informations de la base de données
LOCAL
cFichier_Ligne is ClFichier_Ligne
ctbFichier_Ligne is tableau of ClFichier_Ligne
ctbFichier_Ligne = cFichier_Ligne:Liste()
// EDD (01/25) : créer une nouvelle classe ClFichier_Ligne
ClFichier_Ligne est une Classe
m_sRubrique_A is string
m_sRubrique_B is string
m_sRubrique_C is string
FIN

// EDD (01/25) : créer une nouvelle méthode dans la classe ClFichier_Ligne
PROCÉDURE Liste()
LOCAL
cRub is ClRub_Fichier_Ligne; ctbFichier_Ligne is tableau of ClFichier_Ligne
eEntier is entier
sdDonnées is Source de Données
sString is string = "Select " + cRub:Rub_A() + ", " + ...
cRub:Rub_B() + ", " + cRub:Rub_C() + " from FIC_Table"
IF HExécuteRequêteSQL(sdDonnées, hRequêteDéfaut, "sRequête") = False THEN
Info(ErreurInfo(errComplet))
EndProgram()
ELSE
HLitPremier(sdDonnées)
TANTQUE NOT HEnDehors(sdDonnées)
eEntier = TableAjouteLigne(ctbFichier_Ligne)
ctbFichier_Ligne[eEntier]:m_sRubrique_A = {"sdDonnées." + cRub:Rub_A(), indVariable}
ctbFichier_Ligne[eEntier]:m_sRubrique_B = {"sdDonnées." + cRub:Rub_B(), indVariable}
ctbFichier_Ligne[eEntier]:m_sRubrique_C = {"sdDonnées." + cRub:Rub_C(), indVariable}
HLitSuivant(sdDonnées)
FIN
END
RENVOYER ctbFichier_Ligne

// EDD (01/25) : créer une nouvelle classe ClRub_Fichier_Ligne
ClRub_Fichier_Ligne est une Classe
FIN

// EDD (01/25) : créer trois méthodes dans la classe ClRub_Fichier_Ligne
PROCÉDURE Rub_A()
RENVOYER "Rubrique_A"

PROCÉDURE Rub_B()
RENVOYER "Rubrique_B"

PROCÉDURE Rub_C()
RENVOYER "Rubrique_C"

NB : Attention l'emplacement du fichier HFSQL, il faut mettre dans une répertoire et utiliser HDéclareExterne() et HAnnuleDéclaration("FIC_Fichier)

Cordialement
Mr.RATSIMANDRESY
Niry Aina Eddy