Delphi et SQL - Delphi/Pascal - Programmation
Marsh Posté le 10-09-2004 à 21:15:14
Tu veux dire faire en sorte que tout l'arbre soit "développé" (ouvert) ? 
Il y a un truc FullExpand il me semble, dans les propriétés du Treeview ou de Treeview.Items
Marsh Posté le 11-09-2004 à 17:25:47
  Non, j'ai une base de données Qui contient des bâtiments,
 Non, j'ai une base de données Qui contient des bâtiments, 
des étages dans mes bâtiments, des pièces dans mes étages. 
 je fait une boucle du style 'while not (Form2.Query1.Eof)do', 
 Puis je charge mes bâtiments dans mon Treeview, puis à l'intérieur  
de ma boucle, je charge mes étages et mes pièces mais je n'arrive 
à charger qu'un étage et une pièce par bâtiment. 
  Je te donne le code, tu comprendras mieu. 
 
 while not (Form2.Query1.Eof)    do 
  begin 
   if (Form2.Query1.FieldByName('Site').AsString ) <> temp_nom then 
    begin 
     temp_nom := Form2.Query1.FieldByName('Site').AsString  ; 
      newNode := Items.AddChild(Tree_princ, temp_nom);  
       newNode.ImageIndex := 0; 
        ParentNode := newNode;  
     For i:=0 to(Form2.Query1.FieldByName('Etage').ComponentCount) do 
      begin 
       if ((Form2.Query1.FieldByName('Etage').AsString) <>'') then 
        begin 
         newNode := Items.AddChild(ParentNode,Form2.Query1.FieldByName('Etage').AsString );  
         newNode.ImageIndex := 1;  
         EnfantNode := newNode;  
        end; 
      end; 
       if ((Form2.Query1.FieldByName('Local').AsString)<>'') then 
        begin 
         newNode := Items.AddChild(EnfantNode,Form2.Query1.FieldByName('Local').AsString);  
         newNode.ImageIndex := 2;  
         EnfantNode := newNode;  
        end; 
       if  ((Form2.Query1.FieldByName('Référence').AsString)<> '') then 
         begin 
          newNode := Items.AddChild(EnfantNode,Form2.Query1.FieldByName('Référence').AsString);  
          newNode.ImageIndex := 4;  
         end; 
       end; 
   Form2.Query1.Next; 
 end; 
  Il faudrait que je trouve comment faire une boucle sur  
  les Query1.FieldByName mais je ne trouve pas l'objet adéquat. 
 Aurais-tu une idée?? 
 
Marsh Posté le 11-09-2004 à 17:39:51
Query1.Fields, c'est une liste de TField ou un truc du genre 
 
Et je comprends pas trop ton histoire...
Marsh Posté le 09-09-2004 à 12:23:36
par l'intermédiaire d'une requête sql Voilà mon morceau de code:
if ((Form2.Query1.FieldByName('Etage').AsString) <>'') then
begin
newNode := Items.AddChild(ParentNode,Form2.Query1.FieldByName('Etage').AsString );
newNode.ImageIndex := 1;
EnfantNode := newNode;
end;
J'aimerai, puisque j'ai plusieurs étages, tous les voir.
je dois donc faire une boucle, j'ai cherché dans l'aide delphi
pour savoir de quel objet me servir et je ne trouve rien,
quelqu'un peut me tuyauter SVP Merci.