ASP.NET 綁定DataSet中的多個(gè)表
這個(gè)問題,平時(shí)很少看到,一般在數(shù)據(jù)綁定之前,數(shù)據(jù)都是放在一個(gè)表中的,實(shí)際上,如果表之間存在關(guān)系,綁定多個(gè)表也是可以的。下面就是 DataSet中兩個(gè)表進(jìn)行綁定的例子。
<%@ 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] = "文章標(biāo)題" + 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中的多個(gè)表 作者:孟子E章</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table border="1">
<tr style="background:orange">
<th>文章標(biāo)題</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之間的轉(zhuǎn)換示例
- asp.net DataSet進(jìn)行排序
- ASP.NET用DataSet導(dǎo)出到Excel的方法
- asp.net下DataSet.WriteXml(String)與(Stream)的區(qū)別
- ADO.Net 類型化DataSet的簡單介紹
- asp.net下用DataSet生成XML的問題
- 詳細(xì)說明asp.net中datareader 和 dataset 的區(qū)別
- ASP.NET中實(shí)現(xiàn)把Json數(shù)據(jù)轉(zhuǎn)換為ADO.NET DataSet對象
- asp.net如何將DataSet轉(zhuǎn)換成josn并輸出
- .NET中如何將文本文件的內(nèi)容存儲到DataSet
相關(guān)文章
ASP.NET中實(shí)現(xiàn)Form表單字段值自動填充到操作模型中
這篇文章主要介紹了ASP.NET中實(shí)現(xiàn)Form表單字段值自動填充到操作模型中,本文模仿MVC模式中的自動映射表單了模型,使用泛型和反射實(shí)現(xiàn),需要的朋友可以參考下2015-06-06ASP.NET實(shí)現(xiàn)二維碼(QRCode)的創(chuàng)建和讀取實(shí)例
這篇文章主要介紹了ASP.NET實(shí)現(xiàn)二維碼(QRCode)的創(chuàng)建和讀取實(shí)例,分析了二維碼的實(shí)現(xiàn)原理與完整的代碼實(shí)現(xiàn)步驟,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01System.Web中不存在類型或命名空間名稱script 找不到System.Web.Extensions.dll引用
這篇文章主要為大家詳細(xì)介紹了System.Web中不存在類型或命名空間名稱script,找不到System.Web.Extensions.dll引用的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04ASP.NET筆記之 Request 、Response 與Server的使用
本篇文章小編為大家介紹,ASP.NET筆記之 Request 、Response 與Server的使用。需要的朋友參考下2013-04-04Asp.net FileUpload+Image制作頭像效果示例代碼
個(gè)人信息中通常需要自己的頭像或者照片,今天主要介紹一下使用FileUpload+img控件上傳照片,感興趣的朋友可以參考下2013-08-08