*.aspx
<asp:DataList id="DataList1" runat="server" RepeatColumns="2" Width="535px" Height="64px" CellPadding="3"HorizontalAlign="Center" OnItemDataBound="DataList1_ItemDataBound">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "area") %>
<asp:DataList id="DataList2" runat="server" RepeatColumns="4">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"place") %>
</ItemTemplate>
<AlternatingItemTemplate>
<FONT face="宋体"></FONT>
</AlternatingItemTemplate>
</asp:DataList>
</ItemTemplate>
<AlternatingItemTemplate>
<FONT face="宋体"></FONT>
</AlternatingItemTemplate>
</asp:DataList>
*.aspx.cs private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
string user=(string) Session["username"];
// 在此处放置用户代码以初始化页面
ContectDb condb=new ContectDb();
DataSet das=new DataSet();
das=condb.dbList("select * from areaList");
DataList1.DataSource=das.Table["person"].DefaultView;
DataList1.DataBind();
}
}
public void DataList1_ItemDataBound(Objectsender,System.Web.UI.WebControls.DataListItemEventArgs e)
{
ContectDb condbe=new ContectDb();
DataSet ds=new DataSet();
ds=condbe.dbList("select * from placeList");
System.Web.UI.WebControls.DataList DL= (System.Web.UI.WebControls.DataList)e.Item.FindControl("DataList2");
DL.DataSource=ds.Tables["person"].DefaultView;
DL.DataBind();
}
<asp:DataList id="DataList1" runat="server" RepeatColumns="2" Width="535px" Height="64px" CellPadding="3"HorizontalAlign="Center" OnItemDataBound="DataList1_ItemDataBound">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "area") %>
<asp:DataList id="DataList2" runat="server" RepeatColumns="4">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"place") %>
</ItemTemplate>
<AlternatingItemTemplate>
<FONT face="宋体"></FONT>
</AlternatingItemTemplate>
</asp:DataList>
</ItemTemplate>
<AlternatingItemTemplate>
<FONT face="宋体"></FONT>
</AlternatingItemTemplate>
</asp:DataList>
*.aspx.cs private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
string user=(string) Session["username"];
// 在此处放置用户代码以初始化页面
ContectDb condb=new ContectDb();
DataSet das=new DataSet();
das=condb.dbList("select * from areaList");
DataList1.DataSource=das.Table["person"].DefaultView;
DataList1.DataBind();
}
}
public void DataList1_ItemDataBound(Objectsender,System.Web.UI.WebControls.DataListItemEventArgs e)
{
ContectDb condbe=new ContectDb();
DataSet ds=new DataSet();
ds=condbe.dbList("select * from placeList");
System.Web.UI.WebControls.DataList DL= (System.Web.UI.WebControls.DataList)e.Item.FindControl("DataList2");
DL.DataSource=ds.Tables["person"].DefaultView;
DL.DataBind();
}
本文介绍了一种利用Repeater控件显示主-从关系数据表的方法。 原文参见:http://support.microsoft.com/default.aspx?scid=kb;en-us;306154NestedRepeater.aspx<%@ Import Namespace="System.Data" %>
<%@ Page language="c#" Codebehind="NestedRepeater.aspx.cs"
AutoEventWireup="false" Inherits="eMeng.NestedRepeater" %>
<HTML>
<body>
<form runat="server">
<!-- 父Repeater开始 -->
<asp:repeater id="parentRepeater" runat="server">
<itemtemplate>
<b>
<%# DataBinder.Eval(Container.DataItem,"au_id") %>
</b>
<br>
<!-- 子Repeater开始 -->
<asp:repeater id="childRepeater" runat="server"
datasource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrelation") %>'>
<itemtemplate>
<%# DataBinder.Eval(Container.DataItem, "[\"title_id\"]")%>
<br>
</itemtemplate>
</asp:repeater>
<!-- 子Repeater结束 -->
</itemtemplate>
</asp:repeater>
<!-- 父Repeater结束 -->
</form>
</body>
</HTML>
NestedRepeater.aspx.csusing System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;namespace eMeng
{
///
/// NestedRepeater 的摘要说明。
/// 本文介绍如何利用Repeater控件显示主-从关系的表格
/// 原文参见:
/// http://support.microsoft.com/default.aspx?scid=kb;en-us;306154
///
public class NestedRepeater : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Repeater parentRepeater;public void Page_Load(object sender, EventArgs e)
{
// 为Authors表创建 Connection 和 DataAdapter
string cnnString = @"server=(local)\NetSDK;database=pubs; Integrated Security=SSPI;";
SqlConnection cnn = new SqlConnection(cnnString);
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from authors",cnn); //创建填充 DataSet.
DataSet ds = new DataSet();
cmd1.Fill(ds,"authors"); // 为Titles表创建 DataAdapter
SqlDataAdapter cmd2 = new SqlDataAdapter("select * from titleauthor",cnn);
cmd2.Fill(ds,"titles"); // 创建 Authors 表和 Titles 表之间的关系.
ds.Relations.Add("myrelation",
ds.Tables["authors"].Columns["au_id"],
ds.Tables["titles"].Columns["au_id"]); // 绑定Authors到父Repeater
parentRepeater.DataSource = ds.Tables["authors"];
Page.DataBind(); cnn.Close();
cnn.Dispose();
}
private void Page_Init(object sender, EventArgs e)
{
InitializeComponent();
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
public NestedRepeater()
{
Page.Init += new System.EventHandler(Page_Init);
}
}
}
你的datalist也可以类似