Заполнение TreeView - C#

Узнай цену своей работы

Формулировка задачи:

Приведенный ниже код используется у меня для заполнения treeView. Как мне реализовать, что бы каждый элемент дерева хранил в себе информацию не визуально не видимую (см. запрос: O.ID и ParentID), что бы я ее мог считать.
SelectStr = "SELECT O.ID, L.PARENTID AS PARENT, O.ITEMNAME AS NAME " +                  
                "FROM OBJECTS O " +                    
                   "INNER JOIN OBJTYPE OT ON (O.TYPEID = OT.ID) " +                    
                    "LEFT OUTER JOIN LINKS L ON (O.ID = L.CHILDID) " +                  
                "WHERE OT.CODE = 'Country' OR OT.CODE = 'Area'"; 
CreateTree(SelectStr);
public void CreateTree(string QueryStr) 
{
  tvMain.Nodes.Clear();
  TreeTable.Clear();
  DBcmd.CommandText = QueryStr;
  DBTrns = DBcmd.Connection.BeginTransaction(IsolationLevel.ReadCommitted);
  DBcmd.Transaction = DBTrns;
  try   
  {     
     if (DBcmd.Connection.State == ConnectionState.Open)     
     {       
       TreeTable.Clear();       
       FbDataReader reader = DBcmd.ExecuteReader();       
       TreeTable.Load(reader);       
       CreateTreeNode(tvMain.Nodes, String.Empty);       
       DBTrns.Commit();     
     }     
     else 
       MessageBox.Show("Нет соединения!");   
   }   
   catch   
   {     
     DBTrns.Rollback();   
   } 
}
private void CreateTreeNode(TreeNodeCollection parentNodes, String parentKey)  
{   
   foreach (DataRow row in TreeTable.Rows) 
    { 
      if (row[1].ToString() == parentKey)     
   {       
     TreeNode node = new TreeNode(row[2].ToString()); 
          parentNodes.Add(node);       
     this.CreateTreeNode(node.Nodes, row[0].ToString()); 
      } 
  } 
}

Решение задачи: «Заполнение TreeView»

textual
Листинг программы
node.Tag = row[3].ToString();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5