[导入]DataList中嵌套DataList的例子

DataList中嵌套DataList的例子
 
 

这个例子是来源于 asp.net start kit

 

<%@ Page language="c#" Codebehind="WebForm4.aspx.cs" AutoEventWireup="false" Inherits="localtest.WebForm4" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<HTML>

     <HEAD>

           <title>WebForm4</title>

           <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">

           <meta name="CODE_LANGUAGE" Content="C#">

           <meta name="vs_defaultClientScript" content="JavaScript">

           <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

     </HEAD>

     <body MS_POSITIONING="GridLayout">

           <form id="Form1" method="post" runat="server">

                <asp:DataList ID="dgTopLevel" Runat="server">

                     <ItemTemplate>

                           <asp:LinkButton Runat="server" id="open" CommandName="打开" >open</asp:LinkButton>

                           <asp:Label Runat="server" ID="lb">这是第一层</asp:Label>

                           <%# DataBinder.Eval(Container.DataItem,"au_lname") %>

                     </ItemTemplate>

                     <SelectedItemTemplate>

                           <asp:LinkButton Runat="server" ID="close" CommandName="关闭" >close</asp:LinkButton>

                           <asp:Label Runat="server" ID="lb2">这是第二层</asp:Label>

                           <asp:DataList Runat="server" ID="dgSub" DataSource="<%# GetSubList() %>">

                           <ItemTemplate>

                           <%# DataBinder.Eval(Container.DataItem,"au_fname") %>

                          

                           </ItemTemplate>

                           </asp:DataList>

                     </SelectedItemTemplate>

                </asp:DataList>

           </form>

     </body>

</HTML>

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

 

namespace localtest

{

     /// <summary>

     /// WebForm4 的摘要说明。

     /// </summary>

     public class WebForm4 : System.Web.UI.Page

     {

           protected System.Web.UI.WebControls.DataList dgTopLevel;         

    

           private void Page_Load(object sender, System.EventArgs e)

           {

                // 在此处放置用户代码以初始化页面

                if(!IsPostBack)

                {

                     BindList();

                }

 

 

 

           }

 

           public void Command_select(Object sender,DataListCommandEventArgs e)

           {

                string command = ((LinkButton)e.CommandSource).CommandName;

 

          

                if(command == "close")

                {

                     dgTopLevel.SelectedIndex = -1;

                }

                else

                {

                     dgTopLevel.SelectedIndex = e.Item.ItemIndex;

                }

                BindList();

           }

 

           #region Web 窗体设计器生成的代码

           #endregion

 

          

 

           void BindList()

           {

                          

                this.dgTopLevel.DataSource = this.GetTopList();

                this.dgTopLevel.DataBind();

           }

 

           //第二层的数据源

           public SqlDataReader GetSubList()

           {

                SqlConnection conn = new SqlConnection("server=localhost;uid=sa;pwd=syd8gmt;database=pubs");

                string strsql = "select top 5 au_fname from authors";

                SqlCommand cmd = new SqlCommand(strsql,conn);

                cmd.Connection.Open();

                SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

               

                return dr;

           }

           //第一层的数据源

           public SqlDataReader GetTopList()

           {

 

 

                SqlConnection conn = new SqlConnection("server=localhost;uid=sa;pwd=syd8gmt;database=pubs");

                string strsql = " select top 10 au_lname from authors";

           

                SqlCommand cmd = new SqlCommand(strsql,conn);

                cmd.Connection.Open();

                SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

 

                return dr;

           }

 

            

     }

}


文章来源:http://zhangkai0309.blog.163.com/blog/static/28884858200822684062
posted @ 2008-03-26 20:40  ChouKei  阅读(246)  评论(0编辑  收藏  举报