PB à toute heure et à tout moment. (à parcourir avec modération)

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 11-07-2007 11:20:32

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

[RESOLU] Selection multiple dans une datawindow

Bonjour,

Est-il possible de faire une selection multiple dans une datawindow et si oui, comment ?

Dernière modification par Mr Pink Eyes (11-07-2007 14:06:22)


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#2 11-07-2007 11:31:10

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Selection multiple dans une datawindow

oui c'est possible.

je pense que c'est à toi de le gérer , si dans l'événement clicked tu codes ça :

Code: pb

this.SelectRow(row,true)


ça fera que sur chaque ligne que tu cliques sera ajoutée à la sélection

et si tu fais

Code: pb

For li_cpt = 1 to this.rowcount()
   this.SelectRow(row,False)
next
this.SelectRow(row,true)


ça va d'abord déselectionner toutes les lignes puis ne sélectionner que celle sur laquelle tu viens de cliquer.

Après à toi de raffiner le comportement selon qu'on maintient la touche Control enfoncée avant de cliquer ou pas par exemple.

Dernière modification par rincevent (11-07-2007 13:33:55)


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#3 11-07-2007 11:55:52

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: [RESOLU] Selection multiple dans une datawindow

Merci beaucoup !


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#4 11-07-2007 11:59:04

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: [RESOLU] Selection multiple dans une datawindow

Mr Pink Eyes a écrit:

Merci beaucoup !

je ne te remercie pas...de m'avoir battu au plongeon...


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#5 11-07-2007 12:19:51

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: [RESOLU] Selection multiple dans une datawindow

pick ouic a écrit:

Mr Pink Eyes a écrit:

Merci beaucoup !

je ne te remercie pas...de m'avoir battu au plongeon...

Et à 30 seconds aussi ;)


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#6 11-07-2007 13:13:52

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] Selection multiple dans une datawindow

rincevent a écrit:

oui c'est possible...


ça va d'abord déselectionner toutes les lignes puis ne sélectionner que celle sur laquelle tu viens de cliquer

Deux remarques :
1) Je me suis permis de modifier ton message en mettant code=pb en minuscules seul moyen d'activer la coloration syntaxique.

2) Si tu fais :

Code: pb

this.SelecRow(0,False)
this.SelecRow(row,true)

C'est pareil mais ça t'évite une boucle


never let people work on more than one thing at once.

Hors ligne

 

#7 11-07-2007 13:22:58

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: [RESOLU] Selection multiple dans une datawindow

Okay, c'est bon à savoir! Par contre y a eu une faute de frappe c'est SelectRow mais c'était compréhensible quand même


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#8 11-07-2007 13:33:30

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Selection multiple dans une datawindow

shahin a écrit:

1) Je me suis permis de modifier ton message en mettant code=pb en minuscules seul moyen d'activer la coloration syntaxique.

ahhhh voilà ! je me disais bien que c'était pas nickel l'affichage mais je comprenais pas pq, merci de ton intervention (et du conseil pour éviter la boucle aussi)


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#9 11-07-2007 14:13:44

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Selection multiple dans une datawindow

si tu veux faire de la multi selection avec les touches Control, KeyShift et les fleches


variable instance : Long            ii_lastrow

sur event clicked de la dw

Code: pb

Long     ll_begin_block        // Début de bloc
Long     ll_end_block        // Fin de bloc
Long     ll_i              // Compteur
Boolean   lb_memo

If row > 0 Then
  //gestion de la sélection
  if (row = ii_lastrow) and (not KeyDown (KeyShift!)) and (not KeyDown (KeyControl!)) then
    lb_memo = This.IsSelected (row)
    this.SelectRow (0, False)
    this.SelectRow (row, Not lb_memo)
  elseif (row = ii_lastrow) then
    this.SelectRow (row, Not This.IsSelected (row))    
  end if
end if


creer un event ue_selection sur la DW

Code: pb

Long    ll_begin_block
Long    ll_end_block
Long    ll_i

if KeyDown (KeyShift!) then
  //repérage du bloc de sélection
  if ii_lastrow > al_row then
    ll_begin_block = al_row
    ll_end_block = ii_lastrow
  else
    ll_begin_block = ii_lastrow
    ll_end_block = al_row
  end if

  this.SelectRow (0, False)
  //sélection ou desélection
  if this.IsSelected (ll_begin_block) and this.IsSelected (ll_end_block) then
    for ll_i = ll_begin_block to ll_end_block
      this.SelectRow (ll_i, False)
    next
  else
    for ll_i = ll_begin_block to ll_end_block
      this.SelectRow (ll_i, True)
    next
  end if
elseif KeyDown (KeyControl!) then
  if this.IsSelected (al_row) then
    this.SelectRow (al_row, False)
  else
    this.SelectRow (al_row, True)
  end if
else
  IF al_row > 0 and al_row <= this.rowcount() and &
    Not KeyDown(KeyUpArrow!) and Not KeyDown(KeyDownArrow!) Then
    this.SelectRow (0, False)
    this.SelectRow (al_row, True)
  End IF
end if
ii_LastRow = al_row



sur event rowfocuschanged de la dw

Code: pb

this.Post Event ue_selection (CurrentRow)

Face à l'agression, la puissance de l'intelligence

Hors ligne

 

#10 11-07-2007 14:19:42

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: [RESOLU] Selection multiple dans une datawindow

Merci! Je m'en suis inspiré pour créer une selection multiple juste via le ctrl + click :

Code: pb

if not(keydown(KeyControl!)) then
  this.SelectRow(0,false)
end if
this.SelectRow(row,not(this.isSelected(row)))

http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22