Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 04-09-2008 15:31:41

Nyphel  
Membre Power Geek
Lieu: Grenoble
Date d'inscription: 06-05-2008
Messages: 253
Pépites: 12
Banque: 529,705,333,097,693

[RESOLU] DW : problème de scroll horizontal

Bonjour,

Dans ma fenêtre j'ai un UserObject.
Dans mon UserObjet j'ai une DataWindow.
Dans ma DataWindow j'ai beaucoup de rows !-D

Mon soucis est le suivant :
- admettons que ma DataWindow aie une largeur de 5 cm,
- et que chaque row a besoin de 10 cm pour afficher la totalité des colonnes
- lorsque je clic sur un row pour le sélectionner, alors un scroll horizontal est effectué pour m'afficher la fin du row

Moi je souhaite qu'il n'y aie pas ce scroll horizontal... Je souhaite que seule la première partie du row soit visible. Ensuite l'utilisteur aura a sa disposition une barre de scroll horizontale si il veut consulter les colonnes masquées, car elles ne sont pas primordiales.

J'ai "joué" avec les propritétés HScrollBar et HSplitScroll sans succès, puisqu'à priori elle servent à afficher et permettre des scrolls horizontaux.

Savez-vous si il existe une solution ? :-o

Dernière modification par Nyphel (04-09-2008 18:06:08)

Hors ligne

 

#2 04-09-2008 17:30:01

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 748
Pépites: 1,028,846
Banque: 171,170,849,654

Re: [RESOLU] DW : problème de scroll horizontal

Le comportement que tu veux obtenir est normalement le comportement par défaut.

Je pense qu'il doit y avoir du code dans un événement de ton objet datawindow qui doit réaliser le scroll Horizontal lorsque tu cliques sur une ligne.

ex dans l'événement clicked :

Code: pb

IF row > 0 THEN 
  This.SelectRow(0, FALSE)
  This.SelectRow(row, TRUE)
  this.Modify("DataWindow.HorizontalScrollPosition=" + string(integer(this.Describe("DataWindow.HorizontalScrollMaximum")) /2))
END IF  

   
Je ferais une recherche sur le code pour trouver une éventuelle référence à HorizontalScrollPosition.

Hors ligne

 

#3 04-09-2008 17:45:24

Nyphel  
Membre Power Geek
Lieu: Grenoble
Date d'inscription: 06-05-2008
Messages: 253
Pépites: 12
Banque: 529,705,333,097,693

Re: [RESOLU] DW : problème de scroll horizontal

Malheureusement j'ai déjà fait cette recherche : j'ai bien du selectrow(), mais rien de plus ;)

Par contre j'ai ajouté un [this.Modify("DataWindow.HorizontalScrollPosition=0")] dans mon event clicked() de ma datawindow, et ça fonctionne plutôt pas mal... Je continue mes investigations, puisque ce n'est pas censé être le comportement de base.

Dernière modification par Nyphel (04-09-2008 17:57:01)

Hors ligne

 

#4 04-09-2008 18:05:56

Nyphel  
Membre Power Geek
Lieu: Grenoble
Date d'inscription: 06-05-2008
Messages: 253
Pépites: 12
Banque: 529,705,333,097,693

Re: [RESOLU] DW : problème de scroll horizontal

J'ai la solution : mes colonnes avaient un TabOrder qui permettait donc théoriquement à l'utilisateur de les sélectionner.
Lorsque l'utilisateur cliquait sur un row de ma datawindow, cela sélectionnait donc le row et donnait le focus à la colonne précisément cliquée : je ne m'apercevait pas vraiment de la chose car j'avais interdit la modification des données (readonly).

Dès lors, puisque ma dernière colonne était la plus grande, lorsque l'utilisateur cliquait sur un row il avait tendance à cibler la dernière colonne : celle-ci prenant le focus, ça scrollait automatiquement pour la rendre visible (J'ai un script ancêtre qui fait cela lorsqu'un champ prend le focus dans une datawindow). J'ai donc donné un TabOrder à 0 sur toutes mes colonnes pour qu'elles ne puissent plus prendre le focus, et ça fonctionne à merveille.

Merci encore pour ton aide Buck, sans toi je n'aurais pas compris le soucis

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22