Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
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
Salut,
Quand ton utilisateur clique sur une ligne tu lance le code :
// É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):
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>
Hors ligne
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