Avatar billede ali_baba Nybegynder
07. november 2002 - 15:34 Der er 1 kommentar og
1 løsning

Borland TTreeView?

Jeg har et treeview som jeg har et lille problem med, jeg ville gerne have at vide hvordan man insætter en child efter parent'ens navn og ikke nummer, og om det er muligt at adde på en bestemt linje ?
Avatar billede ali_baba Nybegynder
07. november 2002 - 16:51 #1
jeg har fundet ud af at alle muligehederne kan havde hver deres Item[nummer] så slipper jeg for "by text/name" Men jeg kan jo godt hende at havde en Item[1] og en Item[3] uden at havde en Item[2] og det for den jo enten til at smide en fejlbox op i hovedet på mig eller lave en add som er tom (og det ser jo lidt dumt ud) og hvis jeg bare sletter de tomme add's så bliver Item[3] vel til Item[2] og det fjerner hele iden i det så hvis man på en eller anden måde kunne lave en usynlig add med usynlige childs vil jeg også respektere den løsning
Avatar billede soepro Nybegynder
11. november 2002 - 09:49 #2
Ad 1) Der er ikke (som du har opdaget) nogen metode til at indsætte efter parent'ens navn - men du ret enkelt kode en (idet jeg antager at "navn" er den tekst der står på noden):

TTreeNode * FindNode(AnsiString parentName)
{
  int idx = 0;
  while (idx < treeMain->Items->Count)
  {
    if (treeMain->Items->Item[idx]->Text.AnsiPos(parentName) > 0)
    {
      return treeMain->Items->Item[idx];
    };
    idx++
  }; // All nodes.

  return NULL;
}

Så indsætter du et nyt child vha.

  TTreeNode *parent;
  if ((parent = FindParent("Farfar ole")) != NULL)
    treeMain->Items->AddChild(parent, "Min egen far");

2) Ja - det er det jeg gør lige her ovenfor.

Du skal være opmærksom på forskellen mellem Add() og AddChild() - man kan sige at Add() laver "brødre" til grundnoden - AddChild() laver "børn".

A
+-A1
+-A2
+-A3
B
C

Hvis du laver Add(B) får du en D "bror" - hvis du laver AddChild(B) får du et B1 "barn".
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester