首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于分页的数据绑定,该如何解决

2013-09-09 
关于分页的数据绑定后台:protected void btntime_Click(object sender, EventArgs e){ddlsqlHelper sql

关于分页的数据绑定
后台:
protected void btntime_Click(object sender, EventArgs e)
        {
            ddlsqlHelper sql = new ddlsqlHelper();
            string sqlSel = "select ID,DepartmentID,PositionID,GradeLevel,SuggestSalary,RecuitingNum,RecuitingReasonType,CreateTime,T.G_CName as DepartmentName,T.GroupID,T1.GroupID,T1.G_CName as PositionName from sys_Anwerbeformular as B INNER JOIN sys_Group AS T ON B.DepartmentID=T.GroupID  INNER JOIN sys_Group AS T1 ON B.PositionID = T1.GroupID where CreateTime   between '" + txtstart.Text.ToString().Trim() + "' and  '" + txtfinish.Text.ToString().Trim() + "'";
            DataSet ds = sql.reDs(sqlSel);
            UserList.DataSource = ds;
            UserList.DataBind();
        }

private void BindUserList()
        {
            PagedDataSource ps = new PagedDataSource();
            ps.DataSource = Anwerbeformularbll.GetAnwerbeformular();
            ps.AllowPaging = true; ps.PageSize = 10;
            
            int CurPage;
            if (Request.QueryString["Page"] != null && Request.QueryString["Page"] != "0")
            {
                CurPage = Convert.ToInt32(Request.QueryString["Page"]);
            }
            else
            {
                CurPage = 1;
            }
            ps.CurrentPageIndex = CurPage - 1;


            int Counts = ps.PageCount;
            labPage.Text = "共 " + Counts.ToString() + " 页";
            if (!ps.IsFirstPage && !ps.IsLastPage)
            {
                first.Visible = true;
                first.Enabled = true;
                last.Visible = true;
                last.Enabled = true;
                next.Visible = true;
                next.Enabled = true;
                up.Visible = true;
                up.Enabled = true;
                this.first.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1";
                this.last.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(Counts);
                up.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
                next.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
                lb_Currentpage.Text = CurPage.ToString();
            }
            else if (!ps.IsFirstPage && ps.IsLastPage)
            {
                last.Visible = false;
                last.Enabled = false;


                up.Visible = true;
                up.Enabled = true;
                next.Visible = false;
                next.Enabled = false;

                this.first.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1";
                up.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
                lb_Currentpage.Text = CurPage.ToString();
            }
            else if (ps.IsFirstPage && !ps.IsLastPage)
            {
                first.Visible = false;
                first.Enabled = false;
                next.Visible = true;
                next.Enabled = true;
                up.Visible = false;
                up.Enabled = false;
                this.last.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(Counts);
                next.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
                lb_Currentpage.Text = CurPage.ToString();
            }
            else
            {


                first.Visible = false;
                first.Enabled = false;
                next.Visible = false;
                next.Enabled = false;
                up.Visible = false;
                up.Enabled = false;
                last.Visible = false;
                last.Enabled = false;
            }

            UserList.DataSource = ps;
            UserList.DataBind();

        }
============================================================
前台:
<asp:TextBox ID="txtstart" Width="100px" onkeydown="return false;" class="tb_input" runat="server"
                            onfocus="SelectDate(this,'yyyy-MM-dd',0,0)"></asp:TextBox>&nbsp;
              到
              &nbsp;
              <asp:TextBox ID="txtfinish" Width="100px" onkeydown="return false;" class="tb_input" runat="server"
                            onfocus="SelectDate(this,'yyyy-MM-dd',0,0)"></asp:TextBox>
<asp:Button ID="btntime" runat="server" Width="100px" Text="日期查询" 
                      onclick="btntime_Click" />&nbsp;&nbsp;

<asp:DataList ID="UserList" Width="1000px" runat="server" 
            UseAccessibleHeader="false" onitemcommand="UserList_ItemCommand" 


            border="0" cellspacing="1" cellpadding="0" HorizontalAlign="Center" CssClass="Anwerbeformular"  >
            <HeaderTemplate>
        <td style="width:100px;font-weight:bold; height:25px;" align="center" >申请部门</td>
        <td style="width:100px; font-weight:bold;" align="center">岗位名称</td>
        <td style="width:100px; font-weight:bold;" align="center">招聘人数</td>
        <td style="width:100px; font-weight:bold;" align="center">建议薪资</td>
        <td style="width:100px; font-weight:bold;" align="center">招聘原因</td>
        <td style="width:100px; font-weight:bold;" align="center">发布时间</td>
        <td style="width:130px; font-weight:bold;" align="center">申请人</td>
        <td style="width:130px; font-weight:bold;" align="center">人力资源部</td>
        <td style="width:130px; font-weight:bold;" align="center">浏览操作</td>
            </HeaderTemplate>
            <ItemTemplate>
            <td align="center">
                <%# Eval("DepartmentName")%></td><td align="center">
                <%# Eval("PositionName")%></td><td align="center">
                <%# Eval("RecuitingNum")%></td><td align="center">
                <%# Eval("SuggestSalary") %></td><td align="center">
                <%# (Eval("RecuitingReasonType").ToString()) == "0" ?"离职补充" : (Eval("RecuitingReasonType").ToString()) == "1" ?"调岗补充" : (Eval("RecuitingReasonType").ToString()) == "2" ?"新增岗位" :"短期需要" %></td><td align="center">


                <%#Convert.ToDateTime(DataBinder.Eval(Container.DataItem, "CreateTime")).ToShortDateString()%>
                </td><td align="center"> 
                <asp:LinkButton ID="lkbtnModifInCharge" CommandName="ModifInCharge" CommandArgument='<%# Eval("ID") %>' runat="server">修改</asp:LinkButton></td><td align="center"> 
                
                <asp:LinkButton ID="lkbtnModifHR" CommandName="ModifHR" CommandArgument='<%# Eval("ID") %>' runat="server">人事部门审核</asp:LinkButton></td><td align="center"> 
                <asp:LinkButton ID="lkbtnModifCEO" CommandName="ModifCEO" CommandArgument='<%# Eval("ID") %>' runat="server">浏览</asp:LinkButton>
                </td>
            </ItemTemplate>
        </asp:DataList>
       
<div style=" width:1000px; height: 16px;" align="center">
     <asp:Label ID="labPage" runat="server" Text="Label"  Width="67px" Font-Size="10pt"></asp:Label>&nbsp;&nbsp;
   当前第<asp:Label ID="lb_Currentpage" runat="server" Text="1" ></asp:Label>页&nbsp;&nbsp;
        <asp:HyperLink ID="first" runat="server" Height="12px">首页</asp:HyperLink>&nbsp;&nbsp;
    <asp:HyperLink ID="up" runat="server" Height="12px">上一页</asp:HyperLink>&nbsp;&nbsp;
     <asp:HyperLink ID="next" runat="server" Height="12px">下一页</asp:HyperLink>&nbsp;&nbsp;
        <asp:HyperLink ID="last" runat="server" Height="12px">末页</asp:HyperLink>&nbsp;&nbsp;

</div> 

现在我的情况是我正常打开页面,数据是正常的,筛选后,第一页数据也是正常的,可是点了下一页或者上一页等翻页操作,数据又回复成未筛选前的数据。希望大家能帮我改下这段代码哦。能让我点翻页的时候,显示的是我筛选过的数据翻页操作,而不是突然变成所有数据的翻页操作


[解决办法]
何必搞这么麻烦。一些分页插件轻松搞定,比如aspnetpager
http://www.webdiyer.com/Controls/AspNetPager/
[解决办法]
refer : http://www.cnblogs.com/windows/archive/2009/11/13/1602275.html
[解决办法]
PagedDataSource 这东西看了蛋疼。。。。
[解决办法]
换控件吧,这个datalist真麻烦,用gridview,直接在前台页面设置每页显示的条数就完了。

热点排行
Bad Request.