Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Рекурсивное построение TreeView из таблицы MSSql  [new]
DracoDier
Member

Откуда:
Сообщений: 17
С# только изучаю, не судите строго.
Необходимо построить TreeView базируясь на данных таблицы MSSql.
Содержимое таблицы :
idSerials     NameOriginal       NomerSezon        NomerSerii
1       	Сериал 1    	Сезон 1      	1х1
2       	Сериал 1    	Сезон 1      	1х2
3       	Сериал 1    	Сезон 2      	2х1
4       	Сериал 1    	Сезон 2       	2х2
5       	Сериал 2    	NULL             	1х1
6        	Сериал 2    	NULL	          	1х2
7       	Сериал 3    	NULL	        	NULL


Должно быть :

Сериал 1
  Сезон 1
     1х1
     1х2
  Сезон 2
     2х1
     2х2          
Сериал 2
     1х1
     1х2
Сериал 3


Мой код :

 private void BuildingTreeView1()
        {
            SqlDataAdapter da = new SqlDataAdapter(@"Select NameOriginal, NomerSezona, NomerSerii from Serials", con);
            DataSet ds = new DataSet();
            da.Fill(ds, "Serials");

            foreach (DataRow dr in ds.Tables["Serials"].Rows)
            {
                TreeNode tn = new TreeNode(dr["NameOriginal"].ToString());


                foreach (DataRow dr2 in ds.Tables["Serials"].Rows)
                {
                    TreeNode ctn = new TreeNode(dr2["NomerSezona"].ToString());
                    foreach (DataRow dr3 in ds.Tables["Serials"].Rows)
                    {
                        TreeNode gctn = new TreeNode(dr3["NomerSerii"].ToString());
                        ctn.Nodes.Add(gctn);
                    }
                    tn.Nodes.Add(ctn);
                }
                treeView1.Nodes.Add(tn);
            }


Код отрабатывает, выстраивает трехступенчатый TreeView, но при этом в child и grandchild попадает parent.... Проще говоря "каша"...

Подскажите, где накосячил?
Заранее спасибо.

Сообщение было отредактировано: 16 июн 14, 17:01
16 июн 14, 16:48    [16170761]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсивное построение TreeView из таблицы MSSql  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
DracoDier,


Вы вот здесь берете все записи

DataRow dr in ds.Tables["Serials"].Rows 


, а нужно записи определённого уровня.

DataRow dr in ds.Tables["Serials"].Rows.Where(r => ....) 
16 июн 14, 17:08    [16170910]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсивное построение TreeView из таблицы MSSql  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
навреное спросить в форуме по C# ?
16 июн 14, 17:09    [16170912]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить