显示器的中继器

时间:2009-01-06 17:26:49

标签: c# asp.net repeater

我需要显示如下的内容。

A型

  1. A型项目1
  2. A型项目2
  3. A型项目3
  4. B型

    1. B类第1项
    2. B类第2项
    3. B类第3项
    4. C型

      1. C类第1项
      2. C类第2项
      3. C类第3项
      4. 所有数据都来自包含“Type”和“ItemName”列的数据集。现在一个简单的解决方案是为每个“类型”创建一个转发器,并按每个“类型”过滤数据集。但是,我想只使用一个转发器,问题是我需要一些方法来识别每个新节有一个标题。

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

        因此,只有每个Type的第一项获得标题项,而所有其他项都设置为空字符串。

        有没有人知道任何有用的技巧?

3 个答案:

答案 0 :(得分:2)

不是为每种类型创建转发器,而是嵌套转发器怎么样?

http://www.codeproject.com/KB/aspnet/AspNetNestedRepeaters.aspx

尝试一下。你仍然需要一个以上的转发器,但在这种情况下它只需要两个你需要的,你不必为每种类型制作一个(因为你担心),而是一个类型,一个嵌套在其中的项目。上面的链接应该为您提供进一步调查的良好起点。

答案 1 :(得分:0)

好的,我刚刚想出了一个解决方案。虽然很脏。

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

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

到目前为止,这有效,但我不知道我的感受。

编辑: 我想知道另一个控件是否可以更好地工作......

答案 2 :(得分:0)

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

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