显示效果如下
RepeaterDemo.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RepeaterDemo.aspx.cs" Inherits="RepeaterDemo" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="repeaterMain" runat="server" OnItemDataBound="repeaterMain_ItemDataBound">
<ItemTemplate>
<table>
<tr>
<td><%#DataBinder.Eval(Container,"DataItem.familyid")%></td>
<td><%#DataBinder.Eval(Container,"DataItem.familyname")%></td>
</tr>
<asp:Repeater ID="repeaterSub" runat="server">
<ItemTemplate>
<tr>
<td><%#DataBinder.Eval(Container, "DataItem.familyid")%></td>
<td><%#DataBinder.Eval(Container, "DataItem.genusid")%></td>
<td><%#DataBinder.Eval(Container, "DataItem.genusname")%></td>
</tr>
<asp:Repeater ID="repeaterSub1" runat="server">
<ItemTemplate>
<tr>
<td><%#DataBinder.Eval(Container, "DataItem.genusid")%></td>
<td><%#DataBinder.Eval(Container, "DataItem.spnumber")%></td>
<td><%#DataBinder.Eval(Container, "DataItem.AbbreviateName")%></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
</table>
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
RepeaterDemo.aspx.cs
using System;using System.Web.UI.WebControls;using System.Data;using System.Data.SqlClient;public partial class RepeaterDemo : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack) {BindMain();
}
}
private void BindMain()
{SqlConnection cn = new SqlConnection(@"server=.;database=CNPCEdit;integrated security=true");
SqlDataAdapter da = new SqlDataAdapter("select familyid, familyname from family", cn);
DataSet ds = new DataSet();cn.Open();
da.Fill(ds);
repeaterMain.DataSource = ds.Tables[0].DefaultView;
repeaterMain.DataBind();
cn.Close();
}
protected void repeaterMain_ItemDataBound(object sender, RepeaterItemEventArgs e)
{ if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {string familyid = ((DataRowView)e.Item.DataItem).Row["familyid"].ToString();
Repeater repeaterSub = (Repeater)e.Item.FindControl("repeaterSub");if (repeaterSub != null)
{SqlConnection cn = new SqlConnection(@"server=.;database=CNPCEdit;integrated security=true");
SqlCommand cmd = new SqlCommand("select familyid, genusid, genusname from genus where familyid = @familyid", cn);
cmd.Parameters.Add("@familyid", SqlDbType.Int, 6).Value = familyid;cn.Open();
repeaterSub.DataSource = cmd.ExecuteReader();
repeaterSub.DataBind();
cn.Close();
}
}
}
}

浙公网安备 33010602011771号