ASP.net: более 2-х вложенных репитеров - PullRequest
0 голосов
/ 26 августа 2010

Мои данные поступают из базы данных. У меня есть таблица данных элемента с некоторыми основными свойствами.

Item 
{ 
   ID, 
   Name, 
   Description, 
   ... 
} 

Тогда у меня есть таблица отношений "многие ко многим" с:

Parent 
{ 
   ParentID, 
   ChildID 
} 

Я перебираю каждый элемент и показываю его дочерние элементы; и его детей, детей и т. д. Я полагаю, что это лучше всего сделать с помощью вложенных репитеров, но я могу ошибаться.

Как получить несколько иерархических уровней, используя asp: repeaters? Я когда-либо использовал только один вложенный репитер, я не знаю, как сделать 3 +.

Ответы [ 3 ]

0 голосов
/ 26 августа 2010

Я бы сделал то, что сказал @ Краген.Но если вы действительно думаете, что создание двух компонентов - это слишком много, вы должны использовать один ретранслятор и два цикла foreach для привязки данных.Использование двух повторителей один внутри другого усложняется, не говоря уже о трех повторителях:).

0 голосов
/ 26 августа 2010

Отношения между родителями и детьми, которые многие ко многим?Это не имеет смысла, по крайней мере, называть их родителями, а дети не имеют смысла.Если это действительно «многие ко многим», то это сеть, если у ребенка только ОДИН родитель, то это иерархия.

С первым я не уверен, что визуализировать их таким образом можнохорошо.Как вы визуализируете ребенка с более чем одним родителем?

С последним, почему бы не использовать TreeView с пользовательским шаблоном элемента?Он обрабатывает все вещи иерархии автоматически.Проблема с повторителями заключается в том, что если вы не делаете их динамически (создавая их в коде), то уровень вложенности является фиксированным, и вы не можете делать столько, сколько хотите.Выполнение их динамически работало бы, но принесло бы накладные расходы.

Я не очень уверен, чего именно вы пытаетесь достичь.Возможно, было бы полезно предоставить более подробную информацию о конечном результате, который вам нужно увидеть.

0 голосов
/ 26 августа 2010

Лично я, вероятно, делаю это, создавая собственный элемент управления со свойством Item и своего рода свойством Parents или Children. Элемент управления будет отображать детали в Item, а затем использовать ретранслятор для отображения каждого элемента в Parents / Children, где для каждого элемента ретранслятор рекурсивно использует один и тот же элемент управления для визуализации элемента.

...