首 页文章中心下载中心繁體中文
设为首页
加入收藏
联系我们
您当前的位置:开源盛世-源代码下载网 -> 文章中心 -> 网站开发类 -> NET 技术 -> .NET基础 -> 文章内容 退出登录 用户管理
栏目导航
· .NET基础 · Asp.Net
· 综合应用 · 数据库应用
· XML 应用 · 控件开发和使用
热门文章
· Tab Control控件使用...
· 学生档案管理系统
· [图文] 排列组合公式
· UTF-8与GB2312之间的...
· DirectShow下载安装...
· Virtual PC 在PAE模...
· Windows2000终端服务...
· MapInfo上的GIS系统...
· Mapbasic参考手册索...
· MapX应用开发中文讲...
相关文章
· 怎样用miDataSetGlo...
· 基于ADO+Adodc控件+...
· Henry手记—从Datag...
· 用嵌套的DataGrid实...
· Henry手记 - Datag...
· 添加一个下拉框到Da...
· Henry手记:Datagri...
· .NET中的DataReader...
· DataGrid 链接Acces...
· Henry手记:WinForm ...
DataGrid中嵌套使用Repeater
作者:佚名  来源:vscodes.com整理  发布时间:2005-12-16 13:05:56  发布人:Polaris

减小字体 增大字体


本文描述了如何把Repeater 控件嵌套进DataGrid来显示分级的数据 。当然,你也可以将这一技术应用到其他的列表绑定控件上去,比如DataGrid包含DataGrid,DataList包含DataList等等的组合。

完整的代码 如下,要注意的是,

   DataGrid1.DataSource=dv;
    DataGrid1.DataBind();

一定要在ds.Relations.Add(..)之后..

<%@import namespace="System.Data" %>
<%@import namespace="System.Data.OleDb"%>
<s cript 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;
  }                
}
</s cript>
<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>


End of《DataGrid中嵌套使用Repeater》

[] [返回上一页] [打 印] [收 藏]
下一篇文章:C#学习文档
 
∷相关“DataGrid中嵌套使用Repeater”文章评论∷
(评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 网站目录 鄂ICP备06007162
开源盛世 版权所有Copyright © 2003-2005 VSCodes.Com. All Rights Reserved.