晕,打了半天的字,居然CSDN错误,出不来,7456~~
使用嵌套的Repeater控件就可以解决你的问题了,解决的办法……你在这里搜索“嵌套”这个关键字就可以了~~比我一个人说还利索得多

解决方案 »

  1.   

    agree with cnlamar, use two sql statementselect distinct GroupId, GroupName from yourtableselect * from yourtable
     
    then create a relationship between the DataTable's and use nested repeaters, for example, seeHOW TO: Display Hierarchical Data by Using Nested Repeater Controls and Visual C# .NET
    http://support.microsoft.com/default.aspx?scid=KB;EN-US;q306154#2
      

  2.   

    你說的是repeater嵌套嗎?
    如是,請看:
    <!-- The same as 24_Repeater_Repeater/ -->
    <%@ Page Language="vb" Debug="true"%>
    <%@ Import NameSpace="System.Data" %>
    <%@ Import NameSpace="System.Data.OleDb" %>
    <script runat="server">
        Sub Page_Load(sender As Object, e As EventArgs)
            If Not Page.IsPostBack Then
                Call GetParentHeaders()
            End If
        End Sub    Sub GetParentHeaders()
            Dim Conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/NestedRepeatersDemo.mdb")
            Dim strSQL As String = "SELECT * FROM tblHeaders"
            Dim cmd As OleDbCommand = New OleDbCommand(strSQL, Conn)
            'cmd.CommandType = CommandType.Text
            Dim dr As OleDbDataReader
            Conn.Open() 
            dr = cmd.ExecuteReader  
            rpParentHeaders.DataSource = dr 
            rpParentHeaders.DataBind()  
            dr.Close()
            cmd.Dispose()
            Conn.Dispose()
        End Sub    Function GetChildLinks(ByVal intPK As Integer) As OleDbDataReader
            Dim Conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/NestedRepeatersDemo.mdb")
            Dim strSQL As String = "SELECT * FROM tblLinks WHERE ForiegnKey =" & intPK
            Dim cmd As OleDbCommand = New OleDbCommand(strSQL, Conn)
            'cmd.CommandType = CommandType.Text
            Conn.Open()  
            Return cmd.ExecuteReader(CommandBehavior.CloseConnection)
        End Function</script>
    <HTML><HEAD>
    <title>ASP.net Walkthrough - Using Nested Repeaters</title></HEAD><body>
    <form id="Form1" method="post" runat="server">
    <H1>My Home Page</H1><P>
    <asp:Repeater id="rpParentHeaders" runat="server">
    <ItemTemplate>
    <font size="2"><strong>
    <%# DataBinder.Eval(Container.DataItem, "strHeader") %>
    </strong></font>
    <br>
    <asp:Repeater ID="rpChildLinks" Runat=server DataSource='<%# GetChildLinks(Ctype(DataBinder.Eval(Container.DataItem,"PrimaryKey"), Integer)) %>'>
    <ItemTemplate>
    <font size="1"><a href='<%# DataBinder.Eval(Container.DataItem, "strLinkURL")%>'>
    <%# DataBinder.Eval(Container.DataItem, "strLinkName") %>
    </a></font>
    <br>
    </ItemTemplate>
    </asp:Repeater><br>
    </ItemTemplate>
    </asp:Repeater>
    </P>
    </form>
    </body>
    </HTML>
      

  3.   

    谢谢各位!!!repeater嵌套是可以实现, 但不好的地方是要多次读数据库, 象我上面的数据是一次性读出来, 能不能实现嵌套的效果呢?
      

  4.   

    试试DataList控件里使用Repeater
    以前有过帖子 找找!