.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; width: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>