repeater显示主从表关系

运行结果如下图所示:
x1.JPG
WebForm1.aspx
ExpandedBlockStart.gif ContractedBlock.gif <% dot.gif @ Import Namespace="System.Data" %>
ExpandedBlockStart.gifContractedBlock.gif
<% dot.gif @ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="HibernateTest.WebForm1"  %>
None.gif
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
None.gif
< HTML >
None.gif    
< HEAD >
None.gif        
< title > WebForm1 </ title >
None.gif        
< meta  name ="GENERATOR"  Content ="Microsoft Visual Studio .NET 7.1" >
None.gif        
< meta  name ="CODE_LANGUAGE"  Content ="C#" >
None.gif        
< meta  name ="vs_defaultClientScript"  content ="JavaScript" >
None.gif        
< meta  name ="vs_targetSchema"  content ="http://schemas.microsoft.com/intellisense/ie5" >
None.gif    
</ HEAD >
None.gif    
< body >
None.gif        
< form  id ="Form1"  method ="post"  runat ="server" >
None.gif            
< FONT  face ="宋体" >
None.gif                
<!--  父Repeater开始  -->
None.gif                
< asp:Repeater  id ="Repeater1"  runat ="server" >
None.gif                    
< itemtemplate >
None.gif                        
< b >
None.gif                            
< br >
None.gif                            CustomerID:
ExpandedBlockStart.gifContractedBlock.gif                            
<% dot.gif # DataBinder.Eval(Container.DataItem,"CustomerID" %>
None.gif                        
</ b >
None.gif                        
< br >
None.gif                        
< b >
None.gif                            
< br >
None.gif                            CompanyName:
ExpandedBlockStart.gifContractedBlock.gif                            
<% dot.gif # DataBinder.Eval(Container.DataItem,"CompanyName" %>
None.gif                        
</ b >
None.gif                        
< br >
None.gif                        OrderID:
None.gif                        
< br >
None.gif                        
<!--  子Repeater开始  -->
None.gif                        
< asp:repeater  id ="childRepeater"  runat ="server"  datasource ='<%#  ((DataRowView)Container.DataItem).Row.GetChildRows("CustOrder") % > '>
None.gif                            
< itemtemplate >
ExpandedBlockStart.gifContractedBlock.gif                                
<% dot.gif # DataBinder.Eval(Container.DataItem, "[\"ORDERID\"]") %>
None.gif                                
< br >
None.gif                            
</ itemtemplate >
None.gif                        
</ asp:repeater >
None.gif                        
< hr >
None.gif                        
<!--  子Repeater结束  -->
None.gif                    
</ itemtemplate >
None.gif                
</ asp:Repeater >
None.gif                
<!--  父Repeater结束  -->
None.gif                
</ FONT >
None.gif        
</ form >
None.gif    
</ body >
None.gif
</ HTML >
None.gif
WebForm1.aspx.cs
None.gif // ***********************************************************
None.gif
// *公司:
None.gif
// *作者:YK
None.gif
// *模块:WebForm1
None.gif
// *功能:
None.gif
// *创建日期:
None.gif
// *修改日期:
None.gif
// ***********************************************************
None.gif
using  System;
None.gif
using  System.Collections;
None.gif
using  System.ComponentModel;
None.gif
using  System.Data;
None.gif
using  System.Drawing;
None.gif
using  System.Web;
None.gif
using  System.Web.SessionState;
None.gif
using  System.Web.UI;
None.gif
using  System.Web.UI.WebControls;
None.gif
using  System.Web.UI.HtmlControls;
None.gif
using  System.Data.SqlClient;
None.gif
None.gif
namespace  HibernateTest
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif    
/**//// <summary>
InBlock.gif    
/// WebForm1 的摘要说明。
ExpandedSubBlockEnd.gif    
/// </summary>

InBlock.gif    public class WebForm1 : System.Web.UI.Page
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
protected System.Web.UI.WebControls.Repeater Repeater1;
InBlock.gif    
InBlock.gif        
private void Page_Load(object sender, System.EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
// 在此处放置用户代码以初始化页面
InBlock.gif
            if(!Page.IsPostBack)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
this.GetData();
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
InBlock.gif        
override protected void OnInit(EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
//
InBlock.gif            
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
InBlock.gif            
//
InBlock.gif
            InitializeComponent();
InBlock.gif            
base.OnInit(e);
ExpandedSubBlockEnd.gif        }

InBlock.gif        
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**//// <summary>
InBlock.gif        
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
InBlock.gif        
/// 此方法的内容。
ExpandedSubBlockEnd.gif        
/// </summary>

InBlock.gif        private void InitializeComponent()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{    
InBlock.gif            
this.Load += new System.EventHandler(this.Page_Load);
InBlock.gif
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif
InBlock.gif
InBlock.gif        
private void GetData()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            SqlConnection con 
= new SqlConnection("server=(local);database=Northwind;uid=sa;pwd=;");
InBlock.gif            System.Data.SqlClient.SqlDataAdapter da 
= new SqlDataAdapter("SELECT * FROM Customers",con);
InBlock.gif            System.Data.SqlClient.SqlDataAdapter da1 
=new SqlDataAdapter("SELECT * FROM ORDERS",con);
InBlock.gif            DataSet ds
= new DataSet();
InBlock.gif            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{                
InBlock.gif                con.Open();
InBlock.gif                
//将主表Customer添加到DataSet中
InBlock.gif
                da.Fill(ds,"Customers");
InBlock.gif                
//将子表Orders添加到DataSet中
InBlock.gif
                da1.Fill(ds,"Orders");
InBlock.gif                
//添加表Customer和表Orders之间的关系CustOrder;关联字段CustomerID
InBlock.gif
                ds.Relations.Add("CustOrder",ds.Tables["Customers"].Columns["CustomerID"],ds.Tables["Orders"].Columns["CustomerID"]);
InBlock.gif
InBlock.gif                
this.Repeater1.DataSource = ds;
InBlock.gif                
this.Repeater1.DataBind();
InBlock.gif            
ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch(Exception ex)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
throw ex;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
finally
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                con.Close();
InBlock.gif                con.Dispose();
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif

转载于:https://www.cnblogs.com/yknb/archive/2006/07/14/450492.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值