Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / рекурсия / 2 сообщений из 2, страница 1 из 1
26.02.2015, 16:58
    #38889793
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рекурсия
Скажите пожалуйста,
как в этом случае


автор
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
        static IEnumerable<JsTreeModel> GetParent1(IEnumerable<DataRow> tab, int id, int parent_id)
        {
            var dataRows = tab as DataRow[] ?? tab.ToArray();
            foreach (var e in dataRows.Where(x => x.Field<int>("id") == id))
            {
                yield return new JsTreeModel { data = e.Field<string>("NAME"), attr = new JsTreeAttribute { id = e.Field<int>("id").ToString() }, 
                  
                    children = new JsTreeModel[] { GetParent1(dataRows, e.Field<int>("id"), e.Field<int>("parent_id")) } 
                };
            }
            foreach (var e in dataRows.Where(x => x.Field<int>("id") == parent_id))
            {
                foreach (var u in GetParent1(dataRows, e.Field<int>("id"), e.Field<int>("parent_id")))
                {
                    yield return u;
                }
            }
        }


избавиться от такой ошибки?



Код: plaintext
авторError 2 Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<jsTreeDemo.Models.JsTreeModel>' to 'jsTreeDemo.Models.JsTreeModel' C:\Users\user\Desktop\jsTreeDemo\jsTreeDemo\Controllers\HomeController.cs 111 52 jsTreeDemo
вот в этом месте


Код: plaintext
авторchildren = new JsTreeModel[] { GetParent1(dataRows, e.Field<int>("id"), e.Field<int>("parent_id")) }
Заранее благодарен.
...
Рейтинг: 0 / 0
26.02.2015, 17:04
    #38889804
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рекурсия
vah,

Это у Вас енумератор. Грубо - коллекция объектов класса JsTreeModel.
Код: c#
1.
new JsTreeModel[] { GetParent1(dataRows, e.Field<int>("id"), e.Field<int>("parent_id")) }



А это - где-то заданный как единичный объект класса JsTreeModel
Код: c#
1.
children 



Обе стороны должны представлять собой либо единичный объект либо енумераторы.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / рекурсия / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]