.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

相关文章

Zookeeper安装和配置说明

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

hdu1254(嵌套bfs,两次bfs)

/*第一次做这种题感觉很有压力,思路还是有点混乱,总是wa,改了好多次才ac的思路:把箱子的移动当做第一层bfs,队列节点要用到当前箱子坐标(x,y),走的次数step,当前人的weizhi(man_x,man_y),要判断人能否将箱子推到某点时要嵌套第二层bfs(人的移动);代码如下:

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像

log4j2相关配置说明以及${sys:catalina.home}应用

${sys:catalina.home} 等价于 System.getProperty("catalina.home") 就是Tomcat的根目录:  C:\apache-tomcat-7.0.77 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 2017-08-10

android应用中res目录说明

Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片、字符串、颜色、尺寸、样式等,类似于web开发中的public目录,js、css、image、style。。。。 Android按照约定,将不同的资源放在不同的文件夹中,这样可以方便的让AAPT(即Android Asset Packaging Tool , 在SDK的build-tools目

Adblock Plus官方规则Easylist China说明与反馈贴(2015.12.15)

-------------------------------特别说明--------------------------------------- 视频广告问题:因Adblock Plus的局限,存在以下现象,优酷、搜狐、17173黑屏并倒数;乐视、爱奇艺播放广告。因为这些视频网站的Flash播放器被植入了检测代码,而Adblock Plus无法修改播放器。 如需同时使用ads

列举你能想到的UNIX信号,并说明信号用途

信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。 UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 Unix信号量也可以