Après windows pour les nuls, voici PB pour les bons (ou presque).

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 28-04-2009 07:33:44

micmx  
Membre Geek
Date d'inscription: 02-02-2009
Messages: 84
Pépites: 1,028
Banque: 1,383,846,119

[RESOLU] Sélection multiple sur une DW

Bonjour,

J'ai une DW de type grid où je peux faire passer un élément de la dw de gauche à la dw de droite en la selectionnant et en cliquant sur le bouton de déplacement prévu à cet effet.

Le problème est qu'il y a beaucoup d'enregistrement et il serait intéressant que l'utilisateur puisse sélectionner plusieurs lignes en une fois.

Est-ce possible ?

Merci d'avance.

Dernière modification par micmx (28-04-2009 10:02:10)

Hors ligne

 

#2 28-04-2009 09:02:29

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Sélection multiple sur une DW

Salut,

Quand ton utilisateur clique sur une ligne tu lance le code :

Code: pb

// Événement clicked de la datawindow
// Je selectionne ou deselectionne en fonction de l'état de la ligne
If(<datawindow>.isSelected(row)) Then
<datawindow>.SelectRow(row,false)
Else
<datawindow>.SelectRow(row,true)
End If


Sur le bouton de recopie des lignes (dans ma solution j'ai une datastore qui possède le même datawindowobject que ma datawindow):

Code: pb

Boolean lb_trouve = true
Long ll_ligne_selectionnee = 0
Long ll_prochaine_ligne_selectionnee

// Algorithme permettant de remplir la datastore comprenant les lignes que l'on
// a selectionné
DO WHILE lb_trouve = true
  ll_prochaine_ligne_selectionnee = <datawindow>.GetSelectedRow(ll_ligne_selectionnee)

  /* Il ne reste plus de lignes selectionnées */
  If (ll_prochaine_ligne_selectionnee=0) Then
    lb_trouve = false
  /* Il reste encore des lignes à copier dans la DataStore*/
  Else
    ll_ligne_selectionnee = ll_prochaine_ligne_selectionnee
    <datawindow>.RowsCopy (ll_ligne_selectionnee, ll_ligne_selectionnee, primary!, <datastore>, 1, primary!)
  End If
LOOP

//Je travaille sur ma datastore que je viens de remplir qui ne contient que ma selection de <datawindow>

Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#3 28-04-2009 10:01:55

micmx  
Membre Geek
Date d'inscription: 02-02-2009
Messages: 84
Pépites: 1,028
Banque: 1,383,846,119

Re: [RESOLU] Sélection multiple sur une DW

pas bête..
nickel merci, j'ai juste dû adapter un peu car mes deux dw ne sont pas pareils et je dois supprimer tous les éléments que je transfère.

Merci !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22