当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  DataGrid中嵌套使用Repeater

 DataGrid中嵌套使用Repeater

点击次数:19 次 发布日期:2008-11-26 11:15:24 作者:源代码网
源代码网推荐      本文描述了如何把Repeater 控件嵌套进DataGrid来显示分级的数据 。当然,你也可以将这一技术应用到其他的列表绑定控件上去,比如DataGrid包含DataGrid,DataList包含DataList等等的组合。
源代码网推荐  
源代码网推荐  完整的代码 如下,要注意的是,
源代码网推荐  
源代码网推荐   DataGrid1.DataSource=dv;
源代码网推荐   DataGrid1.DataBind();
源代码网推荐  
源代码网推荐  一定要在ds.Relations.Add(..)之后..
源代码网推荐  
源代码网推荐  <%@import namespace="System.Data" %>
源代码网推荐  <%@import namespace="System.Data.OleDb"%>
源代码网推荐  <script language="c#" runat="server">
源代码网推荐  string connstr=ConfigurationSettings.AppSettings["ConnectionString"];
源代码网推荐  
源代码网推荐  //小区信息
源代码网推荐  string sql="select * from location where location_id in(select location from catalyst)";
源代码网推荐  //交换机信息
源代码网推荐  string sqltext="select * from catalyst order by location desc";
源代码网推荐  
源代码网推荐  private void page_load(Object obj,EventArgs e)
源代码网推荐  {
源代码网推荐   if(!Page.IsPostBack)
源代码网推荐   {
源代码网推荐   Dataload();
源代码网推荐   }
源代码网推荐  }
源代码网推荐  
源代码网推荐  private void Dataload()
源代码网推荐  {
源代码网推荐   try
源代码网推荐   {
源代码网推荐   OleDbConnection conn=new OleDbConnection(connstr);
源代码网推荐   DataSet ds=new DataSet();
源代码网推荐   OleDbDataAdapter da=new OleDbDataAdapter(sql,conn);
源代码网推荐   da.Fill(ds,"location");
源代码网推荐   DataView dv=new DataView(ds.Tables["location"]);
源代码网推荐  
源代码网推荐   OleDbDataAdapter da2=new OleDbDataAdapter(sqltext,conn);
源代码网推荐   da2.Fill(ds,"catalyst");
源代码网推荐   ds.Relations.Add("myrelation",ds.Tables["location"].Columns["location_id"],ds.Tables["catalyst"].Columns["location"]);
源代码网推荐  
源代码网推荐   DataGrid1.DataSource=dv;
源代码网推荐   DataGrid1.DataBind();
源代码网推荐  
源代码网推荐   conn.Close();
源代码网推荐   }
源代码网推荐   catch(OleDbException ex)
源代码网推荐   {
源代码网推荐   info.Text=ex.Message;
源代码网推荐   }
源代码网推荐  }
源代码网推荐  </script>
源代码网推荐  <html>
源代码网推荐  <body>
源代码网推荐  <form runat=server>
源代码网推荐  
源代码网推荐  <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="false">
源代码网推荐   <Columns>
源代码网推荐   <asp:TemplateColumn HeaderText="小区名">
源代码网推荐   <ItemTemplate>
源代码网推荐   <%# DataBinder.Eval(Container.DataItem,"location_name") %>
源代码网推荐   </ItemTemplate>
源代码网推荐   </asp:TemplateColumn>
源代码网推荐   <asp:TemplateColumn HeaderText="交换机编号">
源代码网推荐   <ItemTemplate>
源代码网推荐   <asp:Repeater id="ChildRepeater" DataSource="<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrelation") %>" runat="server">
源代码网推荐   <ItemTemplate>
源代码网推荐   <%# Container.ItemIndex+1%>.<%# DataBinder.Eval(Container.DataItem, "["label"]")%><br>
源代码网推荐   </ItemTemplate>
源代码网推荐   </asp:Repeater>
源代码网推荐   </ItemTemplate>
源代码网推荐   </asp:TemplateColumn>
源代码网推荐   </Columns>
源代码网推荐  </asp:DataGrid>
源代码网推荐  
源代码网推荐  
源代码网推荐  </form>
源代码网推荐  <asp:label id="info" forecolor="blue" runat="server"/>
源代码网推荐  </body>
源代码网推荐  </html>  做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华