ASP.NET 綁定DataSet中的多個表
更新時間:2008年12月17日 19:41:17 作者:
今天在論壇遇到有人問如何在ASP.NET的數(shù)據(jù)控件中如何一次綁定多個表?
這個問題,平時很少看到,一般在數(shù)據(jù)綁定之前,數(shù)據(jù)都是放在一個表中的,實際上,如果表之間存在關(guān)系,綁定多個表也是可以的。下面就是 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之間的轉(zhuǎn)換示例
- asp.net DataSet進行排序
- ASP.NET用DataSet導出到Excel的方法
- asp.net下DataSet.WriteXml(String)與(Stream)的區(qū)別
- ADO.Net 類型化DataSet的簡單介紹
- asp.net下用DataSet生成XML的問題
- 詳細說明asp.net中datareader 和 dataset 的區(qū)別
- ASP.NET中實現(xiàn)把Json數(shù)據(jù)轉(zhuǎn)換為ADO.NET DataSet對象
- asp.net如何將DataSet轉(zhuǎn)換成josn并輸出
- .NET中如何將文本文件的內(nèi)容存儲到DataSet
相關(guān)文章
VB.net 查詢獲取數(shù)據(jù)庫數(shù)據(jù)信息
VB.net 查詢獲取數(shù)據(jù)庫數(shù)據(jù)信息實現(xiàn)函數(shù),需要的朋友可以參考下,代碼比較簡單。2009-07-07
ASP.NET Core中的Action的返回值類型實現(xiàn)
這篇文章主要介紹了ASP.NET Core中的Action的返回值類型實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
ASP.NET?Core?6.0?添加?JWT?認證和授權(quán)功能
這篇文章主要介紹了ASP.NET?Core?6.0?添加?JWT?認證和授權(quán),本文將分別介紹?Authentication(認證)?和?Authorization(授權(quán)),通過實例代碼分別介紹了這兩個功能,需要的朋友可以參考下2022-04-04
asp.net下將Excel轉(zhuǎn)成XML檔的實現(xiàn)代碼
通過Asp.net(C#)應用程序讀取本地上傳的Excle文件,存放到DataSet中,通過DataSet中的方法直接生成XML文件.2009-11-11
RadioButtonList綁定圖片及泛型Dictionary應用
讀取站點某一目錄的圖片,需要掌握LINQ與泛型Dictionary<TKey,TValue>的使用,本文將介紹RadioButtonList綁定圖片的實現(xiàn),感興趣的朋友可以了解下,或許對你有所幫助2013-02-02
asp.net 下載文件時根據(jù)MIME類型自動判斷保存文件的擴展名
如果我們沒法正確判斷下載源的文件類型的話,就無法保存為正確的文件格式,會給后續(xù)操作及人工閱覽造成困擾。 所幸的是,WebRequest可以給出下載源的MIME信息,這讓我們可以確定文件的真實格式,并以此來決定最終的存儲擴展名。(2009-11-11

