Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

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: 4658
Pépites: 942
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