Pas de problème (pb), que du PowerBuilder (PB) ^^

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 29-07-2013 15:05:43

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

[RESOLU] Drag n Drop plusieurs lignes

Bonjour,

une chtite recherche sur le Forum et Google ne m'ayant pas apporté de solution voici mon problème :

dans une DW l'utilisateur doit pouvoir sélectionner certaines lignes "à la windows" (avec les touches Ctrl et ou Shift) et ensuite les déplacer dans la même DW.

je sais le faire très facilement quand il s'agit d'une seule ligne mais quand on commence à pouvoir en prendre plusieurs ça fout la m....

je dois gérere tous les cas même les plus complexes du genre j'ai 10 lignes à l'écran, je sélectionne la 2, la 4, la 8 et la 9 et je dois toutes les déplacer après la ligne 5

mon problème viens du fait que dès que je déplace une ligne je modifie tout les numéros des autres lignes (si vous voyez ce que j'essaye péniblement de dire...)

y a pas une façon simple de coder ça ?

ça me fait penser à quand on doit effacer des lignes dans une liste, on le fait de bas en haut au lieu de haut en bas et on évite tout soucis, y aurai pas une astuce du genre ici ? ou un chtit bout de code tout fait ?


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

 

#2 29-07-2013 15:37:46

Van  
Bienfaiteur du site
Award: bf
Lieu: mouvaux
Date d'inscription: 19-03-2013
Messages: 125
Pépites: 673
Banque: 41

Re: [RESOLU] Drag n Drop plusieurs lignes

Est ce que passer par une dw intermédiaire invisible pourrait te convenir?

Tu utilise le même dataobject.
Tu passe tes lignes par rowscopy à la dw invisible.
Tu réordonne tes lignes de la dw principales puis ré-importe tes lignes par rowscopy à la ligne 5 (pour reprendre ton exemple).

Faut juste faire gaffes au flags d'update si tu doit faire des update/insert par la suite.

Y'a peut être plus simple ou plus propre. Mais là, j'ai le cerveau qui commence à se vrillé.

Dernière modification par Van (29-07-2013 15:39:00)


Tant que ça bouge c'est pas mort, dans le doute frappe encore!
Ni dieu ni maître, sauf maître Kanter!

Hors ligne

 

#3 29-07-2013 15:57:31

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: [RESOLU] Drag n Drop plusieurs lignes

Bonjour,

Je doute qu'il y ait un code tout prêt qui fait cela.
Une astuce consisterait pas a avoir deux datawindows ?
Une émettrice l'autre qui reçoit plutôt que de tous faire dans la même.
C'est assez facile à vendre car l'utilisateur voit concrètement le résultat et le valide alors qu'avec une seule c'est moins claire s'il se trompe et avec ce type d'ergonomie cela arrive nécessairement.

Dernière modification par Dadone (29-07-2013 15:58:04)

Hors ligne

 

#4 29-07-2013 16:08:42

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

Re: [RESOLU] Drag n Drop plusieurs lignes

Salut et merci pour vos réponses

j'avais pensé à cette possibilité d'utiliser une 2ème DW mais c'était compliqué à mettre à place pour d'autres raisons ( et c'est l'utilisateur qui a spécifiquement demandé que ça se fasse dans UNE seule DW , même si je sais que j'aurai pu bricoler un truc caché)

Je pense que je vais m'en sortir avec du code mais au lieu d'essayer de faire tout d'un coup je vais faire ligne par ligne pour éviter de m'embrouiller dans mes n° de ligne.

genre : je parcours mes rows, si je tombe sur une row selected je la désélectionne puis je la déplace puis je recommence à parcourir mes rows du début et je continue tant qu'il y a des lignes selected.

un peu Quick&Dirty et pas optimisé mais pour mon besoin ça ira très bien je pense.

merci


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

 

#5 30-07-2013 16:58:36

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] Drag n Drop plusieurs lignes

salut, j'arrive un peu tard sur le fil mais pourquoi ne pas collecter les rowid (getrowidfromrow) avant de déplacer puis pour chaque ligne on récupère le row a partir du rowid (getrowfromrowid) ?


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#6 31-07-2013 07:39:26

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

Re: [RESOLU] Drag n Drop plusieurs lignes

ces fonctions m'étaient sorties de la tête, merci pour l'info ;-)


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

 

Pied de page des forums

Propulsé par FluxBB 1.2.22