Заполнить из базы данных дерево значений (TreeView) - C#

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

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

Доброго дня, хочу заполнить из базы данных дерево значений (структура дерева заранее известна), но из той информации которую нашел смог сделать только два уровня:
public void fillTreeView()
        {
            treeView1.Nodes.Clear();
            TreeNode node;
 
            foreach (DataRow row in dal.GetAllAreas().Rows)
            {
                node = treeView1.Nodes.Add(row[1].ToString());
                foreach (DataRow row1 in dal.GetAllStreetAreas(Convert.ToInt32(row[0])).Rows)
                {
                    node.Nodes.Add(row1[0].ToString(), row1[1].ToString());
                    //foreach (DataRow row2 in dal.GetAllNumHouseStreet(Convert.ToInt32(row1[0]), Convert.ToInt32(row[0])).Rows)
                    //{
                    //    node.Nodes[0].Nodes.Add(row2[0].ToString());
                    //}
                }
            }
        }
то что, по-идее, должно было быть добавленным в третий уровень - добавляется также во второй. Но уже вижу что такой подход есть неприемлемым, т.к. существенно тормозит систему... Следовательно вопрос: хотелось бы увидеть пример добавления ноду значений в его подуровень по событию нажатия на него пользователем...

Решение задачи: «Заполнить из базы данных дерево значений (TreeView)»

textual
Листинг программы
private void treeView1_Click(object sender, EventArgs e)
        {
            TreeViewHitTestInfo tvht;
            Point pt = treeView1.PointToClient(MousePosition);
 
            tvht = treeView1.HitTest(pt);
            if (tvht != null)
            {
                if (tvht.Node.Nodes.Count == 0)
                {
                    for (int i = 0; i < 100; i++)
                        tvht.Node.Nodes.Add(tvht.Node.Text + i);
                }
            }
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < 10; i++)
            {
                treeView1.Nodes.Add("Item" + i);
            }
        }

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


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

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

13   голосов , оценка 4.154 из 5
Похожие ответы