ASP.NET 繫結DataSet中的多個表

NO IMAGE

這個問題,平時很少看到,一般在資料繫結之前,資料都是放在一個表中的,實際上,如果表之間存在關係,繫結多個表也是可以的。下面就是 DataSet中兩個表進行繫結的例子。
複製程式碼 程式碼如下:
<%@ Page Language=”C#” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<script runat=”server”>
protected void Page_Load(object sender, EventArgs e)
{
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.DataTable dataTable1 = new System.Data.DataTable(“BlogUser”);
System.Data.DataRow dr;
dataTable1.Columns.Add(new System.Data.DataColumn(“UserId”, typeof(System.Int32)));
dataTable1.Columns.Add(new System.Data.DataColumn(“UserName”, typeof(System.String)));
dataTable1.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns[“UserId”] };
for (int i = 0; i < 8; i )
{
dr = dataTable1.NewRow();
dr[0] = i;
dr[1] = “【孟子E章】” i.ToString();
dataTable1.Rows.Add(dr);
}
System.Data.DataTable dataTable2 = new System.Data.DataTable(“BlogArticle”);
dataTable2.Columns.Add(new System.Data.DataColumn(“ArticleId”, typeof(System.Int32)));
dataTable2.Columns.Add(new System.Data.DataColumn(“Title”, typeof(System.String)));
dataTable2.Columns.Add(new System.Data.DataColumn(“UserId”, typeof(System.Int32)));
dataTable2.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns[“ArticleId”] };
Random rd = new Random();
for (int i = 0; i < 20; i )
{
dr = dataTable2.NewRow();
dr[0] = i;
dr[1] = “文章標題” i.ToString();
dr[2] = rd.Next(0, 7);
dataTable2.Rows.Add(dr);
}
ds.Tables.Add(dataTable1);
ds.Tables.Add(dataTable2);
System.Data.DataColumn parentColumn = ds.Tables[“BlogUser”].Columns[“UserId”];
System.Data.DataColumn childColumn = ds.Tables[“BlogArticle”].Columns[“UserId”];
System.Data.DataRelation user_article = new System.Data.DataRelation(“UserId”, parentColumn, childColumn);
ds.Relations.Add(user_article);
this.Repeater1.DataSource = ds.Tables[“BlogArticle”].DefaultView;
this.Repeater1.DataBind();
}
</script>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head id=”Head1″ runat=”server”>
<title> ASP.NET 繫結DataSet中的多個表 作者:孟子E章</title>
</head>
<body>
<form id=”form1″ runat=”server”>
<asp:Repeater ID=”Repeater1″ runat=”server”>
<HeaderTemplate>
<table border=”1″>
<tr style=”background:orange”>
<th>文章標題</th>
<th>使用者ID</th>
<th>使用者名稱</th>
</tr>
</HeaderTemplate>
<FooterTemplate>
</table></FooterTemplate>
<ItemTemplate>
<tr>
<td><%#Eval(“Title”)%></td><td><%#Eval(“UserId”) %></td>
<td><%#(Container.DataItem as System.Data.DataRowView).Row.GetParentRow(“UserId”)[“UserName”]%>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>

您可能感興趣的文章:

ASP.NET中DataTable與DataSet之間的轉換示例asp.net DataSet進行排序ASP.NET用DataSet匯出到Excel的方法asp.net下DataSet.WriteXml(String)與(Stream)的區別ADO.Net 型別化DataSet的簡單介紹asp.net下用DataSet生成XML的問題詳細說明asp.net中datareader 和 dataset 的區別ASP.NET中實現把Json資料轉換為ADO.NET DataSet物件asp.net如何將DataSet轉換成josn並輸出.NET中如何將文字檔案的內容儲存到DataSet