.NET中DataList嵌套说明

2024-04-03 06:18
文章标签 说明 net 嵌套 datalist

本文主要是介绍.NET中DataList嵌套说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

.NET中DataList嵌套说明 
有时在我们进行数据绑定时,是可能需要进行嵌套绑定的,以显示主从关系的数据。即,一个DataList中嵌套一个子DataList,而子DataList的数据则是随主DataList的数据进行变化的。
1、我们先在页面中布置好两个DataList。并分别起名,dlsProductMenu,dlsProductInfo。如下:

<TABLE id="Table3" cellSpacing="0" cellPadding="0" width="90%" align="center" border="0">
        <TBODY>
         <TR>
          <TD vAlign="top">
           <!--主菜单开始--><asp:datalist id="dlsProductMenu" runat="server" RepeatDirection="Horizontal" RepeatColumns="2"
            Width="100%">
            <ItemTemplate>
             <TABLE class="table02" id="Table13" cellSpacing="0" cellPadding="0" width="100%" align="center"
              border="0">
              <TR bgColor="#f5f5f5">
               <TD width="50%" height="30">
                <%# DataBinder.Eval(Container.DataItem,"Name") %>
               </TD>
              </TR>
             </TABLE>
             <!--子菜单开始-->
              <asp:datalist id="dlsProductInfo" Width="100%" runat="server" RepeatColumns="1">
               <ItemTemplate>
                <TABLE class="table02" id="Table14" cellSpacing="0" cellPadding="0" width="100%" align="center"
                 border="0">
                 <TR bgColor="#f5f5f5">
                  <TD width="50%" height="30">
                   <DIV class="style10" align="left">标题: <a href='ProductInfoDetail.aspx?subID=<%# DataBinder.Eval(Container.DataItem,"subID") %>'>
                     <%# DataBinder.Eval(Container.DataItem,"Title") %>
                    </a>
                   </DIV>
                  </TD>
                 </TR>
                </TABLE>
               </ItemTemplate>
              </asp:datalist>
             <!--子菜单结束-->
            </ItemTemplate>
           </asp:datalist>
           <!--主菜单结束--></TD>
         </TR>
        </TBODY>
       </TABLE>

2、进行数据绑定。

(1)为主DataList绑定主数据。
      DataSet ds = SqlDataProvider.GetMainInfo();//获取将要绑定的数据。
       this.dlsProductMenu.DataSource = ds;
       this.dlsProductMenu.DataBind();
(2)为子DataList绑定从数据。这也是该文的重点。
DataList嵌套的重点是要在外层DataList的ItemDataBound事件中完成对嵌套DataList的绑定。在主DataList的ItemDataBound事件中用e.Item.FindControl方法来找到嵌套层DataList的id,完后为该id绑定数据。比如:

private void dlsProductMenu_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
  {
   if (e.Item.ItemType == ListItemType.Item||e.Item.ItemType == ListItemType.AlternatingItem) 
   {
    DataList dataList = (DataList)e.Item.FindControl("dlsProductInfo");
    DataRowView rowv = (DataRowView)e.Item.DataItem; 
    int mainID = Convert.ToInt32(rowv["Id"]);
    
    if(mainID > 0)
    {
                    DataSet ds = SqlDataProvider.GetSubContent(mainID);//获取从数据。
     if(ds != null)
     {
      try
      {
                            dataList.DataSource = ds;
                            dataList.DataBind();
      }
      catch(Exception ex)
      {
       throw new Exception(ex.Message);
      }
     }
    }
   }
  }

 

这篇关于.NET中DataList嵌套说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/872122

相关文章

Spring Boot Actuator使用说明

《SpringBootActuator使用说明》SpringBootActuator是一个用于监控和管理SpringBoot应用程序的强大工具,通过引入依赖并配置,可以启用默认的监控接口,... 目录项目里引入下面这个依赖使用场景总结说明:本文介绍Spring Boot Actuator的使用,关于Spri

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Redis分布式锁使用及说明

《Redis分布式锁使用及说明》本文总结了Redis和Zookeeper在高可用性和高一致性场景下的应用,并详细介绍了Redis的分布式锁实现方式,包括使用Lua脚本和续期机制,最后,提到了RedLo... 目录Redis分布式锁加锁方式怎么会解错锁?举个小案例吧解锁方式续期总结Redis分布式锁如果追求

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

SpringBoot嵌套事务详解及失效解决方案

《SpringBoot嵌套事务详解及失效解决方案》在复杂的业务场景中,嵌套事务可以帮助我们更加精细地控制数据的一致性,然而,在SpringBoot中,如果嵌套事务的配置不当,可能会导致事务不生效的问题... 目录什么是嵌套事务?嵌套事务失效的原因核心问题:嵌套事务的解决方案方案一:将嵌套事务方法提取到独立类

关于SpringBoot的spring.factories文件详细说明

《关于SpringBoot的spring.factories文件详细说明》spring.factories文件是SpringBoot自动配置机制的核心部分之一,它位于每个SpringBoot自动配置模... 目录前言一、基本结构二、常见的键EnableAutoConfigurationAutoConfigu

.NET利用C#字节流动态操作Excel文件

《.NET利用C#字节流动态操作Excel文件》在.NET开发中,通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据,本文将演示如何在.NET平台使用C#通过字节流创建,读取,编辑及保... 目录用C#创建并保存Excel工作簿为字节流用C#通过字节流直接读取Excel文件数据用C#通过字节

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现