显示器设置的中继器

3

我需要展示以下内容:

A 类型

  1. A 类型项目 1
  2. A 类型项目 2
  3. A 类型项目 3

B 类型

  1. B 类型项目 1
  2. B 类型项目 2
  3. B 类型项目 3

C 类型

  1. C 类型项目 1
  2. C 类型项目 2
  3. C 类型项目 3

所有数据都来自具有“类型”和“项目名称”列的数据集。现在,一种简单的解决方案是为每个“类型”创建一个重复器,并按每个“类型”过滤数据集。但是,我想只使用一个重复器,问题在于我需要某种方式来识别每个新部分何时具有标题。

<div>[Header][Item]</div>

[Header] = <b>Type A</b><br />
[Item] = Type A Item 1

因此,每个类型的第一项都会得到一个标题项,而所有其他项都设置为空字符串。

有没有人知道可以帮助的技巧?

3个回答

2
不要为每种类型创建一个重复器,而是尝试使用嵌套的重复器吧!您仍然需要多个重复器,但在这种情况下,您只需要两个,而不必为每种类型(如您所担心的)制作一个。相反,您可以为类型创建一个重复器,并在其中嵌套一个用于项的重复器。上面的链接应该为您提供了一个良好的起点来进一步研究。 http://www.codeproject.com/KB/aspnet/AspNetNestedRepeaters.aspx

很好,我喜欢这个解决方案比我的骇客更多。谢谢你的提示。 - Ty.

0

好的,我刚想出了一个解决方案。虽然有点不太优雅。

我创建了一个全局变量来跟踪标题。该变量是一个字符串列表。在OnItemDatabind中,我检查标题项是否在全局列表中。

如果该项不存在,则将其添加到列表中并显示标题。否则,标题项为空。

到目前为止,这个方法可以工作,但我不知道自己的感觉如何。

编辑: 我在想另一个控件是否能更好地解决这个问题...


我以前做过类似的事情,但我只有一个字符串(当前值),如果它发生了变化,就只显示标题,然后更新当前值。 - Darren Kopp
看一下下面的嵌套重复器概念,它会让你免受很多麻烦。 - EdgarVerona

0

假设它们按类型排序,您不需要保留完整的列表:只需保留当前项目。

寻找有关控制/中断报告的更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接