请问用asp.net做大类然后小类循环怎么做?
我的意思是,有一个大类,大类下面有不同的信息!
我在首页循环的时候,循环大类,大类的每个下面再循环所属的信息,应该怎么做?
高分求救!
问题点数:100、回复次数:4Top
1 楼LaoDai_Net(『老代』)回复于 2005-06-22 19:56:32 得分 70
搞定…………呵呵,贴出来!!!
数据库 用SQL Server
表 NClass ID ClassName
1 测试标题
2 测试
表 News ID ClassID Title
1 1 test
1 1 test
1 2 test
…………………………
源码:
aspx文件
<%@ Import Namespace="System.Data" %>
<%@ Page language="c#" Codebehind="DataListRelation.aspx.cs" AutoEventWireup="false" Inherits="Test1.DataListRelation" %>
<!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" RepeatColumns="2" runat="server" RepeatDirection="Horizontal">
<ItemTemplate>
<table>
<tr>
<td valign="top" bgcolor=#ff99cc><%# DataBinder.Eval(Container.DataItem,"ClassName") %></td>
</tr>
<tr>
<td>
<asp:DataList ID="DataList2" datasource='<%# ((DataRowView)Container.DataItem)
.Row.GetChildRows("myrelation") %>' Runat="server">
<ItemTemplate>
<table>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "[\"Title\"]") %></td>
<td><%# DataBinder.Eval(Container.DataItem,"[\"ClassID\"]") %></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList></FONT>
<asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 648px; POSITION: absolute; TOP: 248px" runat="server"
Text="Button"></asp:Button>
</form>
</body>
</HTML>
aspx.cs
using 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.Button Button1;
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 ID,ClassName From NClass",conn);
DataSet ds = new DataSet();
da.Fill(ds,"ClassName");
SqlDataAdapter da1 = new SqlDataAdapter("Select * from News A Where Not Exists(Select 1 from News Where ID<=A.ID And ClassID=A.ClassID Having Count(1)>5)",conn);
da1.Fill(ds,"Student");
ds.Relations.Add("myrelation",ds.Tables["ClassName"].Columns["ID"],ds.Tables["Student"].Columns["ClassID"]);
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.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
//if(!Page.IsStartupScriptRegistered("opennew"))
//Page.RegisterClientScriptBlock("opennew","<script language=javascript>window.open('Test.aspx')</script>");
this.Button1.Attributes.Add("onClick","window.open('Test.aspx');");
}
}
}
Top
2 楼shan1119(大天使,卐~解!)回复于 2005-06-22 20:13:35 得分 0
有问题,不懂啊Top
3 楼pgy8288(Just Coding)回复于 2005-06-23 08:56:31 得分 5
for each row in rows
for each r in row
next
nextTop
4 楼Truly()回复于 2005-06-23 09:03:33 得分 25
http://blog.csdn.net/Truly/archive/2005/04/07/339528.aspxTop




