.net实现主细表DataRelation

程序代码:

string sql = "select *  from used_infotype  where superid<=0 order by train asc select * from used_infotype where superid>0";
        DataSet ds = DBHelper.GetDataSet(sql);
        ds.Tables[0].TableName = "used_infotype";
        ds.Tables[1].TableName = "used_infotype2";
        DataColumn Parent = ds.Tables["used_infotype"].Columns["id"];
        DataColumn Child = ds.Tables["used_infotype2"].Columns["superid"];
        DataRelation trelation = new DataRelation("trelation", Parent, Child, false);
        ds.Relations.Add(trelation);
        Repeater3.DataSource = ds.Tables["used_infotype"].DefaultView;      
        Repeater3.DataBind();

页面代码:

 <asp:Repeater ID="Repeater3" runat="server">
                <ItemTemplate>
                              <%# Eval("typename") %>
                  <div style="border-bottom:1px solid #ff0000; height:1px; overflow:hidden; 100%"></div>
                    <asp:Repeater ID="Repeater4" runat="server" DataSource='<%#((System.Data.DataRowView)Container.DataItem).CreateChildView("trelation")%>' DataMember="superid">
                    <ItemTemplate>
                    <%# Eval("typename") %>

                    </ItemTemplate>
                    <SeparatorTemplate>
                    |
                    </SeparatorTemplate>
                    </asp:Repeater>               
                  <br />
             
                </ItemTemplate>
                </asp:Repeater>

原文地址:https://www.cnblogs.com/kiwifruit/p/1863148.html