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 :

Rudiment composant TStringGrid


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 312
    Par défaut Rudiment composant TStringGrid
    Bonjour, j'aimerai savoir comment marche exactement un TStringGrid, je dois faire une liste qui se met à jour via d'autre liste ou d'autres controls, malheureusement je n'y arrive pas j'ai des ELIstError list index out of bound qui me sont notifié à la place.

    Quel qu'un peut il m'indiquer un tutorial pour simplement , ajouter , modifier et supprimer une ligne ?

    Merci d'avance

  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
    Par défaut
    Salut.
    Un petit rappel sans prétention.
    Un stringgrid c'est comme un tableau multi-dimensionnelle de string.
    Tu as differentes propriété :
    RowCount : indique le nombre de ligne
    ColCount : indique le nombre de colonne
    Cells[Col,Row] : permet de modifier/Lire la valeur de la cellule sur la colonne Col et ligne Row.
    Il faut faire très attention lors de la lacture/ecriture car un indice de Colonne/Ligne en Supérieur à ColCount -1/RowCount -1 provoque un erreur de débordement.

    Maintenant dis nous ce que tu fais exactement
    Tu peux chercher dans l'aide de Delphi sur comment l'utiliser.

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 312
    Par défaut
    Bonjour,

    J'ai une stringgrids que je dois mettre a jour suivant la ligne d'un listebox sélectionnée, pour a jouter des lignes j'utilise :

    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
     
     // ma StringGrid
     sgEquipementRegistres.RowCount := Registres.Count + 1;
     
       for I := 0 to Registres.Count - 1 do
        begin
     
         ligne := TStringList.Create;
     
         ligne.Add(Registres.GetValue(i).designation_registre);
         ligne.Add(Registres.GetValue(I).nom_mib);
         ligne.Add(Registres.GetValue(I).oid);
     
         sgEquipementRegistres.Rows[I+1].AddStrings(ligne);
     
         freeAndNil(ligne);
     
        end;
    pour effacer j'utilise cette procedure

    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
     
    EffacerGrille ( grid : TStringGrid );
    var
      i,j : integer;
    begin
     
     Deselection (grid);
     
      for i:=1 to grid.RowCount-1 do
        for j:=0 to grid.ColCount-1 do
        grid.cells[j,i]:='';
      grid.Invalidate;
     
     grid.rowcount := 1;
     
    end;
    mais elle ne marche pas correctement, car elle liquide la ligne de titre et lors d'une nouvelle assignation , j'ai le probleme de EListError

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Salut,

    Essayes donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    EffacerGrille ( grid : TStringGrid );
    var
      i,j : integer;
    begin
     
     for i:=1 to grid.RowCount-1 do
        for j:=0 to grid.ColCount-1 do
        grid.cells[j,i]:='';
     
     grid.rowcount := 1;
     
    end;
    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 312
    Par défaut
    Citation Envoyé par Gilbert Geyer Voir le message
    Salut,

    Essayes donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    EffacerGrille ( grid : TStringGrid );
    var
      i,j : integer;
    begin
     
     for i:=1 to grid.RowCount-1 do
        for j:=0 to grid.ColCount-1 do
        grid.cells[j,i]:='';
     
     grid.rowcount := 1;
     
    end;
    A+
    Bonsoir,
    Désole ça ne marche pas. J'ai toujours de ElistError

  6. #6
    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
    Par défaut
    Je vois pas trop ou se trouve le problème sur cette procedure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    EffacerGrille ( grid : TStringGrid );
    var
      i,j : integer;
    begin
    
    for i:=1 to grid.RowCount-1 do
        for j:=0 to grid.ColCount-1 do
        grid.cells[j,i]:='';
       
    grid.rowcount := 1;
     
    end;

Discussions similaires

  1. Réponses: 10
    Dernier message: 30/09/2014, 16h51
  2. Le composant TStringGrid
    Par ZenZiTone dans le forum Composants VCL
    Réponses: 3
    Dernier message: 02/04/2014, 14h41
  3. [Lazarus] [0.9.31] Composant héritier de TStringGrid et RowCount
    Par Invité dans le forum Lazarus
    Réponses: 7
    Dernier message: 04/11/2011, 20h20
  4. [Lazarus] [0.9.31] Override dans un composant TStringGrid. Questions diverses
    Par Invité dans le forum Lazarus
    Réponses: 4
    Dernier message: 04/11/2011, 09h40
  5. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 16h35

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