表DL里有A,B两个字段,字段A自增的
表XL里有C,D两个字段,C字段是表DL字段A的值。
两表如下关系DL表
A B
1 青春小说
2 小说XL表
C D
1 校园
1 网络
1 叛逆
2 作品集
2 世界名著
2 外国小说
2 中国古典小说 这样显示如何做<table>
<tr><td>青春小说<td><tr/>
<tr><td>校园</td><td>网络</td></tr>
<tr><td>叛逆</td><td></td></tr>
</table>
<table>
<tr><td>小说<td><tr/>
<tr><td>作品集</td><td>世界名著</td></tr>
<tr><td>外国小说</td><td>中国古典小说</td></tr>
</table>
表XL里有C,D两个字段,C字段是表DL字段A的值。
两表如下关系DL表
A B
1 青春小说
2 小说XL表
C D
1 校园
1 网络
1 叛逆
2 作品集
2 世界名著
2 外国小说
2 中国古典小说 这样显示如何做<table>
<tr><td>青春小说<td><tr/>
<tr><td>校园</td><td>网络</td></tr>
<tr><td>叛逆</td><td></td></tr>
</table>
<table>
<tr><td>小说<td><tr/>
<tr><td>作品集</td><td>世界名著</td></tr>
<tr><td>外国小说</td><td>中国古典小说</td></tr>
</table>
解决方案 »
- 散分~帮我看下:为什么这个分页存储过程加了排序依据后就不能分页了?
- 导航条问题
- 请教大家一个小问题?
- SQL查询的数据集能再创建成多个副本吗?请教思路?
- 配置文件错,,,呀,
- 请教:关于'网页对话框'的问题
- 在设计html编辑器中 远程图片自动上传功能如何实现?
- 朋友说ASP.NET只能做个人服务器是真的码?
- 在asp.net页面加载时,Page.IsPostBack是什么意思?例如:用下拉列表框连接sql server数据库时,将填充列表框的代码放到 if (!IsPostBack
- 写自定义控件时,能不能看见此控件?
- 怎样用datagrid制作录入表单
- 如何用Javascript在 页面上输出一个/号啊?
搜索:asp.net 父子表,很多
<asp:DataList id="DataList1" runat="server">
<ItemTemplate>
<b>
<%# DataBinder.Eval(Container.DataItem, "B")%>
</b>
<br>
<asp:DataList id="DataList2" runat="server" RepeatColumns="2">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "D")%>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
</form>
=============================================================
public class WebForm6 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataList DataList1;
protected System.Web.UI.WebControls.DataList DataList2; private DataSet myData = null;//此行代码为手写添加的 private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
myData = this.GetTestData();
this.DataList1.DataSource = myData.Tables["DL"];
this.DataList1.DataBind();
}
} /// <summary>
/// 模拟一些测试数据,实际应用改为从数据库读取
/// </summary>
/// <returns></returns>
private DataSet GetTestData()
{
DataTable dt1 = new DataTable("DL");
dt1.Columns.Add("A");
dt1.Columns.Add("B");
dt1.Rows.Add(new object[]{1,"青春小说"});
dt1.Rows.Add(new object[]{2,"小说"}); DataTable dt2 = new DataTable("XL");
dt2.Columns.Add("C");
dt2.Columns.Add("D");
dt2.Rows.Add(new object[]{1,"校园"});
dt2.Rows.Add(new object[]{1,"网络"});
dt2.Rows.Add(new object[]{1,"叛逆"});
dt2.Rows.Add(new object[]{2,"作品集"});
dt2.Rows.Add(new object[]{2,"世界名著 "});
dt2.Rows.Add(new object[]{2,"外国小说"});
dt2.Rows.Add(new object[]{2,"中国古典小说"}); DataSet ds = new DataSet();
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);
ds.AcceptChanges(); return ds;
} private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if(e.Item.ItemIndex>-1)
{
DataRowView row = e.Item.DataItem as DataRowView;
DataList dl = e.Item.FindControl("DataList2") as DataList;
if(myData!=null)
{
string find = "[C] = '"+row["A"].ToString()+"'";
DataView dv = myData.Tables["XL"].Copy().DefaultView;
dv.RowFilter = find;
dl.DataSource = dv;
dl.DataBind();
}
}
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DataList1.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.DataList1_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}