父母到儿童中继和建立关系

时间:2014-02-13 16:21:50

标签: c# asp.net repeater nested-repeater

我想知道是否有人可以协助....我一直在关注各种教程(在这里和MSDN网站上),我最终完全混淆了自己!

我有一个类似于以下内容的数据集:

id |  descipt  |  letter
1  |  ADR      |  A
2  |  Agril    |  A
3  |  Banking  |  B
4  |  Benefit  |  B

按字母顺序向Z.

我想要实现的是构建一个嵌套的转发器,当完成时看起来像:

A
ADR
Agril

B
Banking
Benefit

这是我到目前为止所做的,但它只是不起作用(目前我的错误是DataBinding:'System.Data.DataRow'不包含名为'descript'的属性。)。我只是不明白理解这一点。我的转发器看起来像:

<asp:Repeater ID="rptParentAD" runat="server">
  <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "letter") %><br />
        <asp:Repeater Id="rptChildAD" runat="server" DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myRelation") %>'>
          <ItemTemplate>
              <%# DataBinder.Eval(Container.DataItem, "descript") %><br />
          </ItemTemplate>
        </asp:Repeater>
   </ItemTemplate>
 </asp:Repeater>

我背后的代码是这样的:

        dtCourses = myDataSet.Tables[1];
        drFilter = dtCourses.Select(zAtoD); //Apply the filter to the table to get interests beginning with A - D
        dtLettersAD = drFilter.CopyToDataTable().DefaultView.ToTable(true, "letter"); //Convert this filtered list back to a datatable but now it returns the distinct letters
        dtCourses2 = drFilter.CopyToDataTable().DefaultView.ToTable();

        dsParent2Child.Tables.Add(dtLettersAD);
        dsParent2Child.Tables.Add(dtCourses2);

        dsParent2Child.Relations.Add("myRelation", dtLettersAD.Columns["letter"], dtCourses2.Columns["letter"]);

        rptParentAD.DataSource = dtLettersAD;
        rptParentAD.DataBind();

基本上我只是完全迷惑自己。有人可以花几分钟时间来帮忙吗?

谢谢, 克雷格

0 个答案:

没有答案