我自己根據孟子大師的文章,結合自己的理解,做的一個web下的主從表

来源:互联网 发布:淘宝第三方活动大全 编辑:程序博客网 时间:2024/05/02 14:46

新建一個頁面parentDatagrid.aspx

以下是html

 <%@ Import namespace="System.Data"%>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="parentDatagrid.aspx.vb" Inherits="reports.parentDatagrid"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <title>parentDatagrid</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <table cellSpacing="0" cellPadding="0" width="900" align="center" border="0">
    <tr>
     <td align="center"><asp:label id="Label1" runat="server" Font-Names="新細明體" Font-Size="20pt">設計工程圖檔傳輸系統報表</asp:label></td>
    </tr>
    <tr>
     <td>
      <hr width="100%" color="black">
     </td>
    </tr>
    <tr>
     <td>
      <table borderColor="#0099ff" cellSpacing="0" cellPadding="0" width="100%" border="1">
       <tr bgColor="paleturquoise">
        <td width="15%"><b><asp:label id="Label2" runat="server">客戶/機種</asp:label></b></td>
        <td width="25%"><b><asp:label id="Label3" runat="server">圖檔路徑</asp:label></b></td>
        <td width="8%"><b><asp:label id="Label4" runat="server">申請人</asp:label></b></td>
        <td width="22%"><b><asp:label id="Label5" runat="server">申請時間</asp:label></b></td>
        <td width="8%"><b><asp:label id="Label6" runat="server">傳輸人</asp:label></b></td>
        <td width="22%"><b><asp:label id="Label7" runat="server">傳輸時間</asp:label></b></td>
       </tr>
      </table>
     </td>
    </tr>
    <tr>
     <td><asp:datagrid id="DataGrid1" runat="server" BorderColor="#00CCCC" ShowHeader="False" Width="100%"
       CellPadding="0" AutoGenerateColumns="False" BorderWidth="1px">
       <Columns>
        <asp:TemplateColumn>
         <ItemTemplate>
          <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
           <TR>
            <TD bgColor="paleturquoise">
             <table cellpadding="0" cellspacing="0" border="0" bordercolor="#0099FF" width="100%">
              <tr>
               <td width="15%">
                <%# DataBinder.Eval(Container.DataItem, "design_customer") %>
               </td>
               <td width="25%">
                <%# DataBinder.Eval(Container.DataItem, "design_drawingpath") %>
               </td>
               <td width="8%">
                <%# DataBinder.Eval(Container.DataItem, "design_proposer") %>
               </td>
               <td width="22%">
                <%# DataBinder.Eval(Container.DataItem, "design_propose_time") %>
               </td>
               <td width="8%">
                <%# DataBinder.Eval(Container.DataItem, "design_transmit_affirm_person") %>
               </td>
               <td width="22%">
                <%# DataBinder.Eval(Container.DataItem, "design_transmit_affirm_time") %>
               </td>
              </tr>
             </table>
            </TD>
           </TR>
           <TR>
            <TD align="right">
             <table cellpadding="0" cellspacing="0" border="0" align="right" width="800">
              <tr>
               <td>
                <asp:DataGrid id=DataGrid2 runat="server" Width=100% AutoGenerateColumns="False" BorderColor="#33FF33" DataKeyField="design_columnID" DataSource='<%# Ctype(Container.DataItem,DataRowView).CreateChildView("OrderRelation") %>'>
                 <HeaderStyle Font-Bold="false" ForeColor="#CC0066" BackColor="#FFCCFF"></HeaderStyle>
                 <Columns>
                  
                  <asp:TemplateColumn HeaderText="模號">
                   <HeaderStyle Width="200px"></HeaderStyle>
                   <ItemTemplate>
                    <%# DataBinder.Eval(Container.DataItem, "design_moldID") %>
                   </ItemTemplate>
                  </asp:TemplateColumn>
                                                                                                                                                                                                                                                                                                                                                                                                                    
                  <asp:TemplateColumn HeaderText="圖檔名稱">
                   <HeaderStyle Width="400px"></HeaderStyle>
                   <ItemTemplate>
                    <%# DataBinder.Eval(Container.DataItem, "design_drawingname") %>
                   </ItemTemplate>
                  </asp:TemplateColumn>
                  <asp:TemplateColumn HeaderText="備註">
                   <HeaderStyle Width="200px"></HeaderStyle>
                   <ItemTemplate>
                    <%# DataBinder.Eval(Container.DataItem, "design_remark") %>
                   </ItemTemplate>
                  </asp:TemplateColumn>
                 </Columns>
                </asp:DataGrid>
               </td>
              </tr>
             </table>
            </TD>
           </TR>
          </TABLE>
         </ItemTemplate>
        </asp:TemplateColumn>
       </Columns>
      </asp:datagrid>
     </td>
    </tr>
    <tr>
     <td align="right"><asp:Label id="pagecount" runat="server" CssClass="datagridstyle1"></asp:Label>
      <asp:Label id="lblcurpage" runat="server" CssClass="datagridstyle1"></asp:Label>
      <asp:HyperLink id="lnkprev" runat="server" CssClass="datagridstyle1">上一頁</asp:HyperLink>
      <asp:HyperLink id="lnknext" runat="server" CssClass="datagridstyle1">下一頁</asp:HyperLink>
     </td>
    </tr>
   </table>
  </form>
 </body>
</HTML>

下面是.aspx.vb

sub page_load()

Dim str, sql As String
        Dim conn As SqlConnection
        Dim da As SqlDataAdapter
        Dim ds As New DataSet
        str = ConfigurationSettings.AppSettings("connstr")
        sql = "select * from insertMR order by design_sortID desc;select * from insertMR_sub"
        conn = New SqlConnection(str)
        da = New SqlDataAdapter(sql, conn)
        da.Fill(ds, "insertMR")
        ds.Tables(0).TableName = "insertMR"
        ds.Tables(1).TableName = "insertMR_sub"
        Dim Parent As DataColumn = ds.Tables("insertMR").Columns("design_columnID")
        Dim Child As DataColumn = ds.Tables("insertMR_sub").Columns("design_columnID")
        Dim OrderRelation As DataRelation = New DataRelation("OrderRelation", Parent, Child, False)
        ds.Relations.Add(OrderRelation)
        '*****************
        Dim objpage As New PagedDataSource
        objpage.DataSource = ds.Tables("insertMR").DefaultView
        objpage.AllowPaging = True
        objpage.PageSize = 10
        Dim curpage As Integer
        If (Request.QueryString("page") <> "") Then
            curpage = Convert.ToInt32(Request.QueryString("page"))
        Else
            curpage = 1
        End If
        objpage.CurrentPageIndex = curpage - 1
        pagecount.Text = "總共" + "<font color=red>" + objpage.PageCount.ToString + "</font>" + "頁"
        lblcurpage.Text = "當前頁:第<font color=red>" + curpage.ToString + "</font>頁"
        If Not objpage.IsFirstPage Then
            lnkprev.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(curpage - 1)

        End If
        If Not objpage.IsLastPage Then
            lnknext.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(curpage + 1)
        End If
        DataGrid1.DataSource = objpage
        DataGrid1.DataBind()

'************************************

datagrid1.DataSource=ds.tables("insertMR").DefalutView

dataBind()

end sub

實現的功能是主從表可以分頁顯示,數據庫我用的是我自己的數據庫,

將*******中的文字換成下面的紅色的代碼,則不會分頁顯示