实例repeater 分页、表头不动、添加列序号、日期分隔符转换(datareader存储过程实现)

来源:互联网 发布:新东方网络课 编辑:程序博客网 时间:2024/06/06 18:27

前台代码:

<body>
    <form id="form1" runat="server">
    <div>
     <asp:Repeater ID="Repeater1" runat="server">
        <HeaderTemplate>
        <div style="">
        <table width="340%" id="tblResult" bgcolor="CornflowerBlue"  cellpadding=1 cellspacing=1 >
       <%-- <tr style="position:relative; top:expression(this.offsetParent.scrollTop);">
--%>
        <tr  class = "fixHeaderStyle">
        <td class="clsHeader">NO.</td>
        <td class="clsHeader">TempID</td>
        <td class="clsHeader">Type</td>
        <td class="clsHeader">ETD Date</td>
        <td class="clsHeader">MB/L#</td>
        <td class="clsHeader"> HB/L#</td>
        <td class="clsHeader">Party Type</td>
        <td class="clsHeader">Code</td>
        <td class="clsHeader">Name</td>
        <td class="clsHeader">Curr</td>
<%--        <td class="clsHeader">A/R</td>
        <td class="clsHeader">A/P </td>--%>
        <td class="clsHeader">发票号</td>
        <td class="clsHeader">开票日期</td>
        <td class="clsHeader">JobID</td>
        <td class="clsHeader">开票人</td>
        <td class="clsHeader">Sales</td>
        <td class="clsHeader">R/O</td>
        <td class="clsHeader">核销单</td>
        <td class="clsHeader">Flight#/Date</td>
        <td class="clsHeader">ETA</td>
        <td class="clsHeader">Pay Terms</td>
        <td class="clsHeader">Agreement No.</td>
        <td class="clsHeader">No.</td>
        <td class="clsHeader">过账人</td>
        <td class="clsHeader">过账日期</td>
        <td class="clsHeader">过账凭证</td>
        <td class="clsHeader">记账人</td>
        <td class="clsHeader">记账日期</td>
        <td class="clsHeader">记账凭证</td>
        <td class="clsHeader">对账人</td>
        <td class="clsHeader">对账日期</td>
        <td class="clsHeader">对账凭证</td>
        <td class="clsHeader">签收人</td>
        <td class="clsHeader">签收日期</td>
        <td class="clsHeader">签收凭证</td>
        <td class="clsHeader">销账人</td>    

        <td class="clsHeader">销账日期</td>
        <td class="clsHeader">销账凭证</td>
        <td class="clsHeader">作废人</td>
        <td class="clsHeader">作废日期</td>
        <td class="clsHeader">LockBy</td>
        <td class="clsHeader">P/L No.</td>
        <td class="clsHeader">MANIFEST#</td>
        <td class="clsHeader">制单日期</td>
        <td class="clsHeader">制单人</td>
        </tr>
        </HeaderTemplate>
        <ItemTemplate>
        <tr style="background-color:White;">
        <td>
       <%=inumber+pageSize*(curPageNum-1) %>
       <% inumber = inumber + 1; %>
        </td>
        <td><%# DataBinder.Eval(Container.DataItem, "TempID")%></td>
      
        <td><%# DataBinder.Eval(Container.DataItem, "BILL_TYPE")%></td>
       <%-- <td><%# DataBinder.Eval(Container.DataItem, "ETD_DATE")%></td>--%>
        <%--<td><%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem, "ETD_DATE").ToString())%></td>--%>
        <td> <%#Eval("ETD_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("ETD_DATE")).ToString("yyyy-MM-dd").Replace('-','/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "MAWB_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "AWB_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "PARTY_TYPE_NAME")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "PARTY_CODE")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "PARTY_NAME")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "CURRENCY")%></td>
<%--        <td><%# DataBinder.Eval(Container.DataItem, "AR")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "AP")%></td>--%>
        <td><%# DataBinder.Eval(Container.DataItem, "TAXINV_NUM")%></td>
        <td> <%#Eval("TAXINV_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("TAXINV_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>

        <td><%# DataBinder.Eval(Container.DataItem, "JOBID")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "TAXINV_BY")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "SALESMAN_CODE")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "RO_CODE")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "TR_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "FIRST_FLIGHT_NUM")%></td>
        <td> <%#Eval("FIRST_FLIGHT_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("FIRST_FLIGHT_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "AE_AGREEMENT_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "AE_PAYTERMS_CODE")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "DN_CN_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "ISSUED_BY")%></td>
        <td> <%#Eval("ISSUED_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("ISSUED_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "ISSUED_VOUCHER")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "POSTACCT_BY")%></td>
        <td> <%#Eval("POSTACCT_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("POSTACCT_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "POSTACCT_VOUCHER")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "CHECKED_BY")%></td>
         <td> <%#Eval("CHECKED_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("CHECKED_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "CHECKED_VOUCHER")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "RECEIPT_BY")%></td>
        <td> <%#Eval("RECEIPT_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("RECEIPT_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "RECEIPT_VOUCHER")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "CANCELACCT_BY")%></td>
        <td> <%#Eval("CANCELACCT_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("CANCELACCT_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "CANCELACCT_VOUCHER")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "VOID_BY")%></td>
        <td> <%#Eval("VOID_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("VOID_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "LOCKED_BY")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "PL_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "MANIFEST_NUM")%></td>
        <td> <%#Eval("LASTUPDATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("LASTUPDATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "MODIFIED_BY")%></td>      
        </tr>
        </ItemTemplate>
        <AlternatingItemTemplate >
        <tr>
       
        <td>
       <%=inumber+pageSize*(curPageNum-1) %>
       <% inumber = inumber + 1; %>
        </td>
       
        <td><%# DataBinder.Eval(Container.DataItem, "TempID")%></td>
      
        <td><%# DataBinder.Eval(Container.DataItem, "BILL_TYPE")%></td>
        <td> <%#Eval("ETD_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("ETD_DATE")).ToString("yyyy-MM-dd").Replace('-','/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "MAWB_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "AWB_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "PARTY_TYPE_NAME")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "PARTY_CODE")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "PARTY_NAME")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "CURRENCY")%></td>
<%--        <td><%# DataBinder.Eval(Container.DataItem, "AR")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "AP")%></td>--%>
        <td><%# DataBinder.Eval(Container.DataItem, "TAXINV_NUM")%></td>
        <td> <%#Eval("TAXINV_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("TAXINV_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "JOBID")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "TAXINV_BY")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "SALESMAN_CODE")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "RO_CODE")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "TR_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "FIRST_FLIGHT_NUM")%></td>
        <td> <%#Eval("FIRST_FLIGHT_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("FIRST_FLIGHT_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "AE_AGREEMENT_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "AE_PAYTERMS_CODE")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "DN_CN_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "ISSUED_BY")%></td>
<%--        <td><%# DataBinder.Eval(Container.DataItem, "ISSUED_DATE")%></td>
--%>        <td> <%#Eval("ISSUED_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("ISSUED_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "ISSUED_VOUCHER")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "POSTACCT_BY")%></td>
        <td> <%#Eval("POSTACCT_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("POSTACCT_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "POSTACCT_VOUCHER")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "CHECKED_BY")%></td>
<%--        <td><%# DataBinder.Eval(Container.DataItem, "CHECKED_DATE")%></td>
--%>        <td> <%#Eval("CHECKED_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("CHECKED_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "CHECKED_VOUCHER")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "RECEIPT_BY")%></td>
<%--        <td><%# DataBinder.Eval(Container.DataItem, "RECEIPT_DATE")%></td>
--%>        <td> <%#Eval("RECEIPT_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("RECEIPT_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "RECEIPT_VOUCHER")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "CANCELACCT_BY")%></td>
        <td> <%#Eval("CANCELACCT_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("CANCELACCT_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "CANCELACCT_VOUCHER")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "VOID_BY")%></td>
<%--        <td><%# DataBinder.Eval(Container.DataItem, "VOID_DATE")%></td>
--%>        <td> <%#Eval("VOID_DATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("VOID_DATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "LOCKED_BY")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "PL_NUM")%></td>
        <td><%# DataBinder.Eval(Container.DataItem, "MANIFEST_NUM")%></td>
<%--        <td><%# DataBinder.Eval(Container.DataItem, "LASTUPDATE")%></td>
--%>        <td> <%#Eval("LASTUPDATE").ToString() == "" ? string.Empty : Convert.ToDateTime(Eval("LASTUPDATE")).ToString("yyyy-MM-dd").Replace('-', '/')%>
</td>
        <td><%# DataBinder.Eval(Container.DataItem, "MODIFIED_BY")%></td>
      
        </tr>
        </AlternatingItemTemplate>
        <FooterTemplate>
        </table>
        </div>
        </FooterTemplate>
        </asp:Repeater>
        <div>
           <%-- <asp:Label ID="lblCurrentPage" runat="server" ></asp:Label>
           
            <asp:HyperLink class="" style="background-color:;" ID="lnkFrist" runat="server"><span class="hlink">首页</span></asp:HyperLink>
            <asp:HyperLink class="" style="background-color:;" ID="lnkPrev" runat="server"><span class="hlink">上一页</span></asp:HyperLink>
            <asp:HyperLink class="" style="background-color:;" ID="lnkNext" runat="server"><span class="hlink">下一页</span></asp:HyperLink>
            <asp:HyperLink class="" style="background-color:;" ID="lnkEnd" runat="server"><span class="hlink">尾页</span></asp:HyperLink>
            --%>
            <asp:HyperLink class="" style="background-color:;" ID="lnkFrist" runat="server"><span class="hlink">首页</span></asp:HyperLink>
            <asp:HyperLink class="" style="background-color:;" ID="lnkPrev" runat="server"><span class="hlink">上一页</span></asp:HyperLink>
            <ASP:LABEL id="lblMessage" runat="server" />
            <asp:HyperLink class="" style="background-color:;" ID="lnkNext" runat="server"><span class="hlink">下一页</span></asp:HyperLink>
            <asp:HyperLink class="" style="background-color:;" ID="lnkEnd" runat="server"><span class="hlink">尾页</span></asp:HyperLink>

            <%--<ASP:LINKBUTTON id="lbtnFirst" OnCommand="lbtnPage_Command" CommandName="First" runat="server">|<</ASP:LINKBUTTON>   
            <ASP:LINKBUTTON id="lbtnPrevious" OnCommand="lbtnPage_Command" CommandName="Previous" runat="server"><<</ASP:LINKBUTTON> 
            <ASP:LABEL id="lblMessage" runat="server" />  
            <ASP:LINKBUTTON id="lbtnNext" OnCommand="lbtnPage_Command" CommandName="Next"
                runat="server" onclick="lbtnNext_Click">>></ASP:LINKBUTTON>   
            <ASP:LINKBUTTON id="lbtnLast" OnCommand="lbtnPage_Command" CommandName="Last" runat="server">>|</ASP:LINKBUTTON>   
            转到第<ASP:DROPDOWNLIST id="dropPage" runat="server" OnSelectedIndexChanged="dropPage_SelectedIndexChanged" AutoPostBack="True"></ASP:DROPDOWNLIST>页   
--%>
        </div>
    </div>
    </form>
</body>

后台:

public partial class repeater2 : System.Web.UI.Page
    {
        public int inumber = 1;
        public int pageSize = 500;
        protected int curPageNum;
        private string sortExpression = "TempID";
        //private string sortExpression = string.Empty;
        private string sortDirection = "DESC";
        private static int rowCount;
        private static int pageCount;
        private string constr = @"data source=.\mssqlserver1;database=ATP_ATR;uid=sa;pwd=123456";
       
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                SqlConnection con = new SqlConnection(constr);
                SqlCommand cmd = new SqlCommand("GetProductsCount", con);
                cmd.CommandType = CommandType.StoredProcedure;
                con.Open();
                rowCount = (int)cmd.ExecuteScalar();
                con.Close();
                pageCount = (rowCount - 1) / pageSize + 1;
                curPageNum = 1;
                Query();
 
            }
            sortExpression = ViewState["sortExpression"].ToString();
            sortDirection = ViewState["sortDirection"].ToString();
            curPageNum = Convert.ToInt32(ViewState["curPageNum"]); 

        }
        private void Query()
        {
            if (Request.QueryString["Page"] != null)
            {
                curPageNum = Convert.ToInt32(Request.QueryString["Page"]);
            }
            lnkFrist.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1";
            if (curPageNum > 1)
            {
                lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(curPageNum - 1);
            }
            if (curPageNum < pageCount)
            {
                lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curPageNum + 1);
            }
            lnkEnd.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + pageCount;

           
            SqlConnection con = new SqlConnection(constr);
            SqlCommand cmd = new SqlCommand("GetProductsByPage", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@sortExpression",sortExpression+" "+sortDirection);
            cmd.Parameters.AddWithValue("@pageNumber",curPageNum);
            cmd.Parameters.AddWithValue("@pageSize",pageSize);
            con.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            adapter.Fill(ds);
            DataView dv = ds.Tables[0].DefaultView;
            Repeater1.DataSource = dv;
            //Repeater1.DataSource = cmd.ExecuteReader();
            Repeater1.DataBind();
            con.Close();
            lblMessage.Text = "共找到" + rowCount + "条记录, 当前第" + curPageNum + "/" + pageCount + "页";
            Save(); 

        }

       

      

        private void Save()
        {
            ViewState["curPageNum"] = curPageNum;
            ViewState["sortExpression"] = sortExpression;
            ViewState["sortDirection"] = sortDirection;
        } 


        protected void lbtnNext_Click(object sender, EventArgs e)
        {

        }
    }

 

原创粉丝点击