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,
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
Bonjour, je me sert d'un Treeview pour visualiser une BDD
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.