IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Déplacer la sélection d'une ligne dans un stringgrid


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut Déplacer la sélection d'une ligne dans un stringgrid
    Bonjour,

    Je voudrais, avec D7 PERSO, aprés avoir sélectionné une ligne en double cliquant sur cette ligne pouvoir déplacer la sélection d'un index.

    C'est le déplacement de ma sélection que je n'arrive pas à faire.

    Merci d'avance.

    JER.

  2. #2
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Si je comprends bien tu veux décaler de x lignes en haut ou en bas la ligne que tu as dbl cliqué.
    Ca je crois qu'il faut coder ce truc mon gars.
    une piste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Strgrid.RowCount := StrGrid.RowCount +x;
    for i:= StrGrid.rowCount - x downto 0 do 
    begin
       for j:= 0 to strGrid.ColCount -1 do
       begin
           StrGrid.Cells[j,i+x]      := StrGrid.Cells[j,i];
           StrGrid.Cells[j,i] :=  '';
        end;
    end;
    peut être que cela t'aiderais
    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Non ce n'est pas cela, encore une fois je me suis mal exprimé. Pardon.

    Décaler une ligne de x ligne vers le haut ou vers le bas je sais faire, mais dans mon code je prévois de décaller une ligne d'un index si celle-ci est selectionnée.
    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    procedure TFormQual.SpinButton2DownClick(Sender: TObject);
    var
      s:string;
     
    begin
     
    if (strgrid.Selection.Left>=strgrid.FixedCols) and (strgrid.Selection.Right>(strgrid.ColCount-1)) then
    begin
     
      with strgrid do
      begin   // Permute Index1 et Index2
        if row < rowcount-1 then
        begin
          S := Rows[row].Text;
          Rows[row].Text := Rows[row+1].Text;
          Rows[row+1].Text := S;
     
        end;
      end;
    end;
    En fait avec cette action je voudrais que la ligne que je selectionne au départ reste selectionnée aprés le déplacement alors qu'avec ce code ma selection reste toujours au même emplacement de départ.

    Meci d'avance.

    Jer.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Il n'y a personne pour me répondre????

  5. #5
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 104
    Points
    19 104
    Par défaut
    Voila, Voila... un peu de patience tout de même

    Il suffit de mettre à jour la propriété Selection après le traitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    procedure TForm1.Button1Click(Sender: TObject);
    Var s:String;
        Sel:TGridRect;
    begin
      With StringGrid1 Do
      if (Selection.Left>=FixedCols) and (Selection.Right>(ColCount-1)) then
      begin   // Permute Index1 et Index2
        if row < rowcount-1 then
        begin
          S := Rows[row].Text;
          Rows[row].Text := Rows[row+1].Text;
          Rows[row+1].Text := S;
        end;
        Sel:=Selection;
        Inc(Sel.Top);
        Inc(Sel.Bottom);
        Selection:=Sel;
      end;
    end;

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Merci beaucoup.

    Tu es toujours là pour trouver une bonne solution.

    A+

    Jer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sélection d'une ligne dans uitable
    Par Pierrot92320 dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 13/05/2009, 10h04
  2. Réponses: 3
    Dernier message: 19/11/2007, 12h57
  3. Comment forcer la sélection d'une ligne dans un DataGridView
    Par Pizza Royale dans le forum Windows Forms
    Réponses: 5
    Dernier message: 12/06/2007, 13h32
  4. Sélection d'une ligne dans un DGGrid
    Par zarbouine dans le forum Delphi
    Réponses: 1
    Dernier message: 17/05/2007, 14h51
  5. Sélection d'une ligne dans un JTable
    Par dam21 dans le forum Composants
    Réponses: 3
    Dernier message: 28/07/2004, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo