一:DataRelation

[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpconnesteddatarelations.asp

 

MSDN Home >  .NET Framework >  使用 .NET Framework 编程 >  通过 ADO.NET 访问数据 >  XML 和 DataSet  
.NET Framework 开发员指南   

嵌套的 DataRelation
在数据的关系表示形式中,各个表都包含使用一个列或一组列来相互关联的行。在 ADO.NET DataSet 中,表之间的关系使用 DataRelation 来实现。当创建 DataRelation 时,列的父子关系仅通过关系来管理。表和列是独立的实体。在 XML 提供的数据的分层表示形式中,父子关系通过包含嵌套子元素的父元素来表示。为了方便子对象在 DataSet 与 XmlDataDocument 同步或使用 WriteXml 以 XML 数据形式来编写时进行嵌套,DataRelation 会公开 Nested 属性。如果将 DataRelation 的 Nested 属性设置为 true,将使关系的子行在以 XML 数据形式编写或与 XmlDataDocument 同步时嵌套在父列中。默认情况下,DataRelation 的 Nested 属性为 false。例如,考虑以下 DataSet:

 1[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
 2[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
 3[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl][Visual Basic]
 4[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;" & _
 5[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                                            "Integrated Security=SSPI;Initial Catalog=Northwind;")
 6[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]Dim custDA As SqlDataAdapter = New SqlDataAdapter("SELECT CustomerID, CompanyName FROM Customers", nwindConn)
 7[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]Dim orderDA As SqlDataAdapter = New SqlDataAdapter("SELECT OrderID, CustomerID, OrderDate FROM Orders", nwindConn)
 8[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
 9[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]nwindConn.Open()
10[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
11[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]Dim custDS As DataSet = New DataSet("CustomerOrders")
12[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]custDA.Fill(custDS, "Customers")
13[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]orderDA.Fill(custDS, "Orders")
14[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
15[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]nwindConn.Close()
16[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
17[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]Dim custOrderRel As DataRelation = custDS.Relations.Add("CustOrders",
18[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                     custDS.Tables("Customers").Columns("CustomerID"),
19[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                     custDS.Tables("Orders").Columns("CustomerID"))
20[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
21[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl][C#]
22[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]SqlConnection nwindConn = new SqlConnection("Data Source=localhost;" +
23[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                                            "Integrated Security=SSPI;Initial Catalog=Northwind;");
24[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]SqlDataAdapter custDA = new SqlDataAdapter("SELECT CustomerID, CompanyName FROM Customers", nwindConn);
25[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]SqlDataAdapter orderDA = new SqlDataAdapter("SELECT OrderID, CustomerID, OrderDate FROM Orders", nwindConn);
26[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
27[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]nwindConn.Open();
28[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
29[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]DataSet custDS = new DataSet("CustomerOrders");
30[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]custDA.Fill(custDS, "Customers");
31[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]orderDA.Fill(custDS, "Orders");
32[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
33[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]nwindConn.Close();
34[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
35[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]DataRelation custOrderRel = custDS.Relations.Add("CustOrders",
36[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                     custDS.Tables["Customers"].Columns["CustomerID"],
37[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                     custDS.Tables["Orders"].Columns["CustomerID"]);
38[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
39[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]



因为对于该 DataSet,DataRelation 的 Nested 属性未设置为 true,所以当该 DataSet 表示为 XML 数据时,子对象将不会嵌套在父元素中。

以下代码显示对 DataSet 调用 WriteXml 将生成的输出。

[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
<CustomerOrders>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  
<Customers>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<CustomerID>ALFKI</CustomerID>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<CompanyName>Alfreds Futterkiste</CompanyName>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  
</Customers>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  
<Customers>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<CustomerID>ANATR</CustomerID>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<CompanyName>Ana Trujillo Emparedados y helados</CompanyName>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  
</Customers>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  
<Orders>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<OrderID>10643</OrderID>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<CustomerID>ALFKI</CustomerID>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<OrderDate>1997-08-25T00:00:00</OrderDate>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  
</Orders>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  
<Orders>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<OrderID>10692</OrderID>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<CustomerID>ALFKI</CustomerID>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<OrderDate>1997-10-03T00:00:00</OrderDate>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  
</Orders>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  
<Orders>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<OrderID>10308</OrderID>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<CustomerID>ANATR</CustomerID>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
<OrderDate>1996-09-18T00:00:00</OrderDate>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  
</Orders>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
</CustomerOrders>
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]



请注意,Customers 元素和 Orders 元素显示为同辈元素。如果您要让 Orders 元素显示为它们各自父元素的子元素,则需要将 DataRelation 的 Nested 属性设置为 true,为此将添加以下代码:

[Visual Basic]
custOrderRel.Nested = True
[C#]
custOrderRel.Nested = true;
以下代码显示当 Orders 元素嵌套在它们各自的父元素中时所生成的输出的可能形式。

 1[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
 2[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
 3[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<CustomerOrders>
 4[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  <Customers>
 5[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <CustomerID>ALFKI</CustomerID>
 6[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <Orders>
 7[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <OrderID>10643</OrderID>
 8[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <CustomerID>ALFKI</CustomerID>
 9[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <OrderDate>1997-08-25T00:00:00</OrderDate>
10[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    </Orders>
11[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <Orders>
12[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <OrderID>10692</OrderID>
13[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <CustomerID>ALFKI</CustomerID>
14[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <OrderDate>1997-10-03T00:00:00</OrderDate>
15[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    </Orders>
16[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <CompanyName>Alfreds Futterkiste</CompanyName>
17[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  </Customers>
18[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  <Customers>
19[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <CustomerID>ANATR</CustomerID>
20[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <Orders>
21[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <OrderID>10308</OrderID>
22[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <CustomerID>ANATR</CustomerID>
23[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <OrderDate>1996-09-18T00:00:00</OrderDate>
24[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    </Orders>
25[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <CompanyName>Ana Trujillo Emparedados y helados</CompanyName>
26[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]  </Customers>
27[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]</CustomerOrders>
28[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
29[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]


SQL 运用

 1[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]C#版本,已测试!
 2[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
 3[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<%@ Page language="c#"%>
 4[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<%@ Import Namespace="System.Data" %>
 5[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<%@ Import Namespace="System.Data.SqlClient" %>
 6[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<HTML>
 7[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<body>
 8[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<script language="c#" runat="server">
 9[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]public void Page_Load(object sender, EventArgs e)
10

 1[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
 2[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<%@ Page Language="VB"%>
 3[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<%@ Import Namespace="System.Data" %>
 4[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<%@ Import Namespace="system.Data.SqlClient"%>
 5[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
 6[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
 7[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
 8[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<html xmlns="http://www.w3.org/1999/xhtml">
 9[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<head runat="server">
10[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <title>DataRelation</title>
11[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
12[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
13[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<script language="vb" runat="server">
14[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
15[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            
16[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
17[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                
18[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]          
19[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                Dim cnn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Pubs").ConnectionString)
20[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]               
21[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        Dim ds As New DataSet()
22[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        
23[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        Dim cmd1 As SqlDataAdapter
24[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        
25[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        cmd1 = New SqlDataAdapter("select * from [Authors]", cnn)
26[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        cmd1.Fill(ds, "Authors")
27[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                Dim cmd2 As SqlDataAdapter
28[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        cmd2 = New SqlDataAdapter("select * from [titleauthor]", cnn)
29[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                cmd2.Fill(ds, "titles")
30[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
31[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
32[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                'Create the relation bewtween the Authors and Titles tables.
33[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        ds.Relations.Add("myrelation", ds.Tables("authors").Columns("au_id"), ds.Tables("titles").Columns("au_id"))
34[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
35[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
36[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                'Bind the Authors table to the parent Repeater control, and call DataBind.
37[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        parentRepeater.DataSource = ds.Tables("Authors")
38[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        'Page.DataBind()
39[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        
40[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        parentRepeater.DataBind()
41[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]     
42[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                
43[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            End Sub
44[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]          
45[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
46[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]</script>
47[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
48[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
49[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]</head>
50[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<body>
51[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <form id="form1" runat="server">
52[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <div>
53[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <!-- start parent repeater -->
54[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<asp:repeater id="parentRepeater" runat="server">
55[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]   <itemtemplate>
56[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <b><%#DataBinder.Eval(Container.DataItem, "[au_id]")%></b><br>  
57[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      
58[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
59[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
60[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]       <!-- 子Repeater开始 -->
61[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <asp:repeater id="childRepeater" runat="server"  datasource='<%# CType(Container.DataItem, DataRowView).Row.GetChildRows("myrelation") %>'>
62[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      <itemtemplate>
63[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        vb.net:2级- <%#Eval("[au_ord]")%>
64[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        <br>
65[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]      </itemtemplate>
66[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    </asp:repeater>
67[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <!-- 子Repeater结束 -->
68[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
69[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]   </itemtemplate>
70[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]</asp:repeater>
71[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        
72[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<!-- end parent repeater -->
73[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
74[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
75[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    </div>
76[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    </form>
77[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]</body>
78[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]</html>
79[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
80[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]


二、DataGridParent.Items(i).FindControl("DataGridChild") 方法

 1[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<%@ Page Language="VB" Debug="true"%>
 2[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<%@ Import Namespace="System.Data" %>
 3[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<%@ Import Namespace="system.Data.SqlClient"%>
 4[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
 5[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]
 6[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<html xmlns="http://www.w3.org/1999/xhtml">
 7[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<head id="Head1" runat="server">
 8[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <title>vb-DataRelation03</title>
 9[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <script language="vb" runat="server">
10[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        
11[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
12[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            Dim conn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Northwind").ConnectionString)
13[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            Dim str As String = "select top 5  [orderID],[customerID],[orderDate] From [Orders]"
14[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            
15[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            Dim adapter As SqlDataAdapter = New SqlDataAdapter(str, conn)
16[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl] 
17[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            Dim ds As New DataSet
18[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            
19[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            Dim mytable As New DataTable() ''一定要建立DATATABLE
20[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            adapter.Fill(ds, "Orders")
21[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            mytable = ds.Tables("Orders")
22[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]          
23[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            '  Me.DataGridParent.DataSource = 
24[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            Me.DataGridParent.DataSource = ds.Tables("Orders").DefaultView
25[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            
26[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            Me.DataGridParent.DataBind()
27[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            
28[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            Dim i As Integer
29[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    
30[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            
31[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        
32[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]       
33[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            
34[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            For i = 0 To mytable.Rows.Count - 1
35[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                '這句非常關鍵..
36[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                Dim DataGridChild As DataGrid = Me.DataGridParent.Items(i).FindControl("DataGridChild")
37[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                Dim str2 As String = "select [orderID],[ProductID] From [Order Details] where [orderID]='" + mytable.Rows(i).Item(0).ToString + "'"
38[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                Dim ds2 As New DataSet
39[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                
40[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                Dim adapter2 As SqlDataAdapter
41[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                adapter2 = New SqlDataAdapter(str2, conn)
42[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                adapter2.Fill(ds2, "ordersDetails")
43[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                DataGridChild.DataSource = ds2.Tables("ordersDetails").DefaultView
44[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                DataGridChild.DataBind()
45[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                           
46[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                
47[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                
48[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]                
49[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            Next
50[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]            
51[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]           
52[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]             
53[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        End Sub
54[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    </script>
55[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]</head>
56[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<body>
57[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <form id="form1" runat="server">
58[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    <div>
59[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        <asp:DataGrid AutoGenerateColumns="False"  ID="DataGridParent" runat="server" Width="166px" ShowHeader="False">
60[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]         <columns>
61[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl] <asp:TemplateColumn>
62[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl] <itemtemplate>
63[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]         <%# DataBinder.Eval (container.DataItem,"orderID") %>
64[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]         <asp:DataGrid AutoGenerateColumns="False" ID="DataGridChild" runat="server" Width="227px" ShowHeader="False">
65[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]         <Columns>
66[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]         <asp:TemplateColumn>
67[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]         <ItemTemplate >
68[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]             [Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]<%#DataBinder.Eval(Container.DataItem, "ProductID")%>
69[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]         </ItemTemplate>
70[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]         </asp:TemplateColumn>
71[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]         </Columns>
72[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        </asp:DataGrid>
73[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]     </itemtemplate>
74[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl] </asp:TemplateColumn>
75[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl] </columns>
76[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        
77[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]        </asp:DataGrid>
78[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    </div>
79[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]    </form>
80[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]</body>
81[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]</html>
82[Transfer]二种嵌套的DataGrid数据表格方法[DataRelation,FindControl]


相关文章: