• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 「主/明細」資料表

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    「主/明細」資料表常用來顯示關聯數據表間的數據。例如在MyWeb 數據庫 中有兩個有關聯的數據表,分別為會員數據表以及訂單數據表;會員數據表中記錄了基本的會員數據,而訂單數據表記錄了會員所下的訂單。我們可以透過一個DataGrid Web控件將這個會員數據表


        「主/明細」資料表常用來顯示關聯數據表間的數據。例如在MyWeb 數據庫中有兩個有關聯的數據表,分別為會員數據表以及訂單數據表;會員數據表中記錄了基本的會員數據,而訂單數據表記錄了會員所下的訂單。我們可以透過一個DataGrid Web控件將這個會員數據表呈現出來后,點選我們所要檢視的會員;此時該會員所下過的訂單細目就會列在另一個DataGred Web 控件中,如下圖所示:


        要達到這個功能,只要利用DataGrid Web 控件的OnItemCommand 事件就可以辦到。我們將主數據表的使用者名稱以ButtonColumn 來呈現,這樣使用者在這個字段上點選時,就會觸發OnItemCommand 事件;我們就可以透過這個事件取得使用者所點選的記錄,并設定好條件將子記錄從數據源取回后呈現在明細數據表上:

    <%@Import Namespace=System.Data.ADO%>
    <%@Import Namespace=System.Data%>
    <Html>
    <Form Runat="Server">
    <ASP:DataGrid Id="dgA" AllowPaging="True" PageSize="5"
    OnPageIndexChanged="dgA_PageChg"
    Runat="Server"
    PagerStyle-Mode="NumericPages"
    BorderColor="#808080"
    HeaderStyle-Font-Names="Courier New"
    HeaderStyle-BackColor="#D1DCEB"
    HeaderStyle-Font-Bold="True"
    HeaderStyle-HorizontalAlign="Center"
    AutoGenerateColumns="False"
    OnItemCommand="dgA_ICmd">
    <Property Name="Columns">
    <ASP:ButtonColumn
    HeaderText="姓名" DataTextField="UserName"/>
    <ASP:BoundColumn
    HeaderText="電話" DataField="UserTel"/>
    <ASP:BoundColumn
    HeaderText="住址" DataField="UserAdd"/>
    <ASP:BoundColumn
    HeaderText="電郵" DataField="UserEmail"/>
    </Property>
    </ASP:DataGrid><br>
    <ASP:DataGrid Id="dgB" Runat="Server"
    PagerStyle-Mode="NumericPages"
    BorderColor="#808080"
    HeaderStyle-Font-Names="Courier New"
    HeaderStyle-BackColor="#D1DCEB"
    HeaderStyle-Font-Bold="True"
    HeaderStyle-HorizontalAlign="Center"
    AutoGenerateColumns="False">
    <Property Name="Columns">
    <ASP:BoundColumn
    HeaderText="日期" DataField="OrderDate"/>
    <ASP:BoundColumn
    HeaderText="產品名稱" DataField="ProductName"/>
    <ASP:BoundColumn
    HeaderText="單價" DataField="UnitPrice"/>
    <ASP:BoundColumn
    HeaderText="數量" DataField="Quantity"/>
    <ASP:BoundColumn
    HeaderText="小計" DataField="Total"/>
    </Property>
    </ASP:DataGrid>
    </Form>
    <ASP:Label Id="Label1" Runat="Server"/>
    <Script Language="VB" Runat="Server">
    Dim dscA As ADODataSetCommand=New ADODataSetCommand("Select * From
    Members", _
    "Provider=Microsoft.Jet.OLEDB.4.0;Data
    Source=C:\InetPub\wwwroot\CR\Ch08\MyWeb.Mdb")
    Dim dsDataSet As DataSet=New DataSet
    Sub Page_Load(Sender As Object, e As EventArgs)
    If Page.IsPostBack=False Then
    dscA.SelectCommand.CommandText="Select * From Members"
    dscA.FillDataSet(dsDataSet, "Members")
    dgA.DataSource=dsDataSet.Tables("Members").DefaultView
    dgA.DataBind()
    End If
    Label1.Text="您目前沒有點選任何記錄."
    End Sub
    Sub dgA_PageChg(Sender As Object, e As DataGridPageChangedEventArgs)
    dscA.FillDataSet(dsDataSet, "Members")
    dgA.DataSource=dsDataSet.Tables("Members").DefaultView
    dgA.DataBind()
    dgB.Visible=False
    End Sub
    Sub dgA_ICmd(Sender As Object, e As DataGridCommandEventArgs)
    Dim shtR As Short=(dgA.CurrentPageIndex * dgA.PageSize) +
    e.Item.ItemIndex
    If shtR>=0 Then
    dscA.FillDataSet(dsDataSet, "Members")
    dscA.SelectCommand.CommandText="Select * From Orders Where
    UserId='" & _
    dsDataSet.Tables("Members").Rows(shtR)("UserId") & "'"
    dscA.FillDataSet(dsDataSet, "Orders")
    dgB.DataSource=dsDataSet.Tables("Orders").DefaultView
    dgB.DataBind()
    dgB.Visible=True
    Label1.Text="總共有" & dsDataSet.Tables("Orders").Rows.Count & "
    筆記錄"
    End If
    End Sub
    </SCRIPT>
    </Html>

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>