班级     姓名    年龄
一班     小张     20
         小王     18
二班     小李     22
         小杨     18请大家帮忙,用datalist如何显示或用sql 语句是否可以直接生成这样的表关系?

解决方案 »

  1.   

    Relations父子关系表
    http://community.csdn.net/Expert/topic/3234/3234831.xml?temp=.2984735
      

  2.   

    http://blog.csdn.net/net_lover/archive/2004/06/27/27695.aspx
    http://support.microsoft.com/default.aspx?scid=kb;zh-cn;306154
      

  3.   

    http://www.cnblogs.com/seagate_cn/archive/2005/02/18/105671.html
      

  4.   

    数据库 ClassDataID   ClassNae  StudentName Age
    1    一班       张三      30……………………源码:
    aspx:<%@ Page language="c#" Codebehind="DataListRelation.aspx.cs" AutoEventWireup="false" Inherits="Test1.DataListRelation" %>
    <%@ Import Namespace="System.Data" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>DataListRelation</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">
    <FONT face="宋体">
    <asp:DataList id="DataList1" runat="server">
    <ItemTemplate>
    <table>
    <tr>
    <td valign="top"><%# DataBinder.Eval(Container.DataItem,"ClassName") %></td>
    <td>
    <asp:DataList ID="DataList2" datasource='<%# ((DataRowView)Container.DataItem)
    .Row.GetChildRows("myrelation") %>' Runat="server">
    <ItemTemplate>
    <table>
    <tr>
    <td><%# DataBinder.Eval(Container.DataItem, "[\"StudentName\"]") %></td>
    <td><%# DataBinder.Eval(Container.DataItem,"[\"Age\"]") %></td></tr>
    </table>
    </ItemTemplate>
    </asp:DataList>
    </td>
    </tr>
    </table>
    </ItemTemplate>
    </asp:DataList></FONT>
    </form>
    </body>
    </HTML>
    aspx.csusing System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace Test1
    {
    /// <summary>
    /// DataListRelation 的摘要说明。
    /// </summary>
    public class DataListRelation : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DataList DataList1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=nanami;User Id=sa;Password=123;");
    SqlDataAdapter da = new SqlDataAdapter("Select DISTINCT ClassName From ClassData ORDER BY ClassName DESC",conn);
    DataSet ds = new DataSet();
    da.Fill(ds,"ClassName");
    SqlDataAdapter da1 = new SqlDataAdapter("SELECT ClassName,StudentName,[Age] FROM ClassData",conn);
    da1.Fill(ds,"Student");
    ds.Relations.Add("myrelation",ds.Tables["ClassName"].Columns["ClassName"],ds.Tables["Student"].Columns["ClassName"]); DataList1.DataSource = ds.Tables["ClassName"].DefaultView;
    Page.DataBind();
    //DataList1.DataBind();
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion
    }
    }