关于分页的数据绑定
后台:
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>
到
<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" />
<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>
当前第<asp:Label ID="lb_Currentpage" runat="server" Text="1" ></asp:Label>页
<asp:HyperLink ID="first" runat="server" Height="12px">首页</asp:HyperLink>
<asp:HyperLink ID="up" runat="server" Height="12px">上一页</asp:HyperLink>
<asp:HyperLink ID="next" runat="server" Height="12px">下一页</asp:HyperLink>
<asp:HyperLink ID="last" runat="server" Height="12px">末页</asp:HyperLink>
</div>
现在我的情况是我正常打开页面,数据是正常的,筛选后,第一页数据也是正常的,可是点了下一页或者上一页等翻页操作,数据又回复成未筛选前的数据。希望大家能帮我改下这段代码哦。能让我点翻页的时候,显示的是我筛选过的数据翻页操作,而不是突然变成所有数据的翻页操作
[解决办法]
何必搞这么麻烦。一些分页插件轻松搞定,比如aspnetpager
http://www.webdiyer.com/Controls/AspNetPager/
[解决办法]
refer : http://www.cnblogs.com/windows/archive/2009/11/13/1602275.html
[解决办法]
PagedDataSource 这东西看了蛋疼。。。。
[解决办法]
换控件吧,这个datalist真麻烦,用gridview,直接在前台页面设置每页显示的条数就完了。