关闭

DataGrid中嵌套使用Repeater

标签: datagriddatasetserveraspstring
1189人阅读 评论(2) 收藏 举报
分类:

本文描述了如何把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>

0
0
查看评论

Asp.Net Repeater的两层嵌套以及遍历取值的简单实现(checkbox)

第一种嵌套方式:<select id="s6" multiple="multiple"> <asp:Repeater ID="rpl_dept" runat="server&quo...
  • qq_31971935
  • qq_31971935
  • 2016-03-29 17:51
  • 787

DataGrid中嵌套使用Repeater

  本文描述了如何把Repeater 控件嵌套进DataGrid来显示分级的数据 。当然,你也可以将这一技术应用到其他的列表绑定控件上去,比如DataGrid包含DataGrid,DataList包含DataList等等的组合。  完整的代码 如下,要注意的是, ...
  • colayungnew
  • colayungnew
  • 2004-10-14 16:05
  • 637

Repeater嵌套内层Repeater绑定ItemCommand事件

Aspx:                         &...
  • huangwei999111
  • huangwei999111
  • 2015-11-13 09:21
  • 984

Repeater的应用之嵌套和行操作

repeater是一个 轻量级的控件,它具有效率高,使用灵活等特点,可以根据用户的不同需求生成比较复杂的界面。以下是一个简单的例子,通过嵌套实现常见的子报表功能。同时也顺便提了一下对它的基本数据的操作。请看示例(asp 2.0):aspx: asp:Repeater I...
  • cpp2017
  • cpp2017
  • 2007-03-22 22:58
  • 2288

Repeater控件的嵌套使用

Repeater控件专门用于精确内容的显示,它也是基于模板的方式,不过它不会自动生成任何用于布局的代码。Repeater控件甚至没有默认的外观,它完全是通过模板控制。而却也只能通过源代码视图进行模板的编辑。Repeater控件由于不自动生成任何HTML标签,所以带来的效率上的提升,也使精确展示内容成...
  • pan_junbiao
  • pan_junbiao
  • 2012-04-15 15:18
  • 4732

asp.net(C#)中Repeater嵌套绑定Repeater

Repeater嵌套Repeater的结构:一般写过的都能看懂吧 private void RpTypeBind() { //GetQuestionTypeAndCount() 返回一个datatable this.rptypelist.Dat...
  • smartsmile2012
  • smartsmile2012
  • 2012-11-30 16:55
  • 9587

Repeater 嵌套,子级Repeater获取 父级Repeater 中的值

1、Container英文就是容器的意思,并且在我们程序中也确实就是!那么这个Container在我们的显示数据用的(GridView,Repeater,DataList等等)这些里面又是一个什么现象来?个人理解其实,Container就是代表的行,Container.DataItem代表的就是数据...
  • yelin042
  • yelin042
  • 2017-01-13 09:54
  • 1447

asp.net中Repeater嵌套绑定的方法(使用两个Repeater做子类别绑定)

<br />这篇文章主要讲解了在asp.net中Repeater控件嵌套绑定的问题,一般我们用两个Repeater控件嵌套绑定来实现类别和类别下信息的绑定。 <br />在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产...
  • nanyida0416sushe
  • nanyida0416sushe
  • 2010-06-30 18:41
  • 3524

ASP.NET Repeater嵌套Repeater实现菜单加载

在KS系统中要实现从数据库中读取界面权限文件实现菜单、界面的动态加载。             效果图:       ...
  • gwblue
  • gwblue
  • 2013-11-14 16:02
  • 4045

GridView中嵌套Repeater方法

前台代码如下: ...
  • zhangyj_315
  • zhangyj_315
  • 2009-01-20 09:50
  • 2985
    个人资料
    • 访问:16005次
    • 积分:292
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    文章存档