Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: [WinForms] Tabelle (Nested Set) in TreeView darstellen

  Alt 16. Jan 2013, 07:55
Pseudocode:

Code:
void FillTree (DataTable dt, TreeNode node, ref int index, int level)
{
  TreeNode currentNode;
  while (index<DataTable.RowCount)
  {
    int lv = (int) DataTable.Rows[index]["Level"];
    if (lv < level)
      return;
    string name = (string)DataTable.Rows[index]["Name"];
    index++;
    if (lv == level)
      currentNode = node.Add(name);
    else
      FillTree(dt, thisNode, index, level + 1)
  }
}
Ungetestet. Ich würde es aber iterativ lösen (wegen tail recursion).

Achtung! Die Abfolge der Daten in der DataTable muss einem Muster entsprechen, das wird hier nicht geprüft.

Einen Baum speichert man jedoch i.A. anders ab, aber das ist sicherlich bekannt. Falls nicht, hier eine mögliche Tabellenstruktur:
Code:
ID |  ParentID | Info

Geändert von Furtbichler (16. Jan 2013 um 07:58 Uhr)
  Mit Zitat antworten Zitat