关于分页控件绑定如何绑定查询条件
现在我用的是AspNetPager控件,但是每次查询后,点击下一页数据总是未绑定,显示的是查询前的数据,谁能教我下应该怎么绑定哦,例如以下这个例子哦
前台
申请部门
<asp:DropDownList ID="ddlDepartmentID" runat="server" Width="150px"></asp:DropDownList>
<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; height:25px;" align="center" >申请部门</td>
<td style="width:100px; " align="center">岗位名称</td>
<td style="width:100px; " align="center">招聘人数</td>
<td style="width:100px; " align="center">建议薪资</td>
<td style="width:100px; " align="center">招聘原因</td>
<td style="width:100px; " align="center">发布时间</td>
<td style="width:130px; " align="center">申请人</td>
<td style="width:130px; " align="center">人力资源部</td>
<td style="width:130px; " 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") %>' Enabled="false" runat="server">修改</asp:LinkButton></td><td align="center">
<asp:LinkButton ID="lkbtnModifHR" CommandName="ModifHR" CommandArgument='<%# Eval("ID") %>' Enabled="false" runat="server">人事部门审核</asp:LinkButton></td><td align="center">
<asp:LinkButton ID="lkbtnModifCEO" CommandName="ModifCEO" CommandArgument='<%# Eval("ID") %>' Enabled="false" runat="server">浏览</asp:LinkButton>
</td>
</ItemTemplate>
</asp:DataList>
<div style=" width:1000px; height: 30px;" align="center">
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%" NumericButtonCount="6" UrlPaging="true" NumericButtonTextFormatString="[{0}]" CustomInfoHTML="第 <font color='red'><b>%CurrentPageIndex%</b></font> 页 共 %PageCount% 页 显示 %StartRecordIndex%-%EndRecordIndex% 条" ShowCustomInfoSection="left"
FirstPageText="首页" LastPageText="末页" NextPageText="下页" PrevPageText="上页" Font-Names="Arial" AlwaysShow="true" ShowInputBox="Always" SubmitButtonText="跳转" SubmitButtonStyle="botton" OnPageChanged="AspNetPager1_PageChanged" >
</webdiyer:AspNetPager>
</div>
后台
//部门按钮
protected void btnDepartmentID_Click(object sender, EventArgs e)
{
Zhaozh.FrameWork.Business.AnwerbeformularTableBll btnDepartmentID = new Zhaozh.FrameWork.Business.AnwerbeformularTableBll();
UserList.DataSource = btnDepartmentID.getbtnDepartmentID(Convert.ToInt32(this.ddlDepartmentID.SelectedValue));
UserList.DataBind();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
BindUserList();
}
//UserList数据绑定
public void BindUserList()
{
PagedDataSource ps = new PagedDataSource();
ps.DataSource = Anwerbeformularbll.GetAnwerbeformular();
this.AspNetPager1.RecordCount = Int32.Parse(ps.Count.ToString());
int pageIndex = this.AspNetPager1.CurrentPageIndex - 1;
int pageSize = this.AspNetPager1.PageSize = 15;
ps.AllowPaging = true;
ps.PageSize = pageSize;
ps.CurrentPageIndex = pageIndex;
UserList.DataSource = ps;
UserList.DataBind();
Judge();
}
bll层
public static List<AnwerbeformularTable> GetAnwerbeformular()
{
return SqlDataProvider.GetAnwerbeformular();
}
dal层
public static List<AnwerbeformularTable> GetAnwerbeformular()
{
List<AnwerbeformularTable> list = new List<AnwerbeformularTable>();
string sql = "select ID,DepartmentID,PositionID,GradeLevel,SuggestSalary,RecuitingNum,RecuitingReasonType,Reason,Residence,Sex,Education,Age,PositionStatement,Skill,Other,SuperiorPotion,SubordinatePosition,WorkingPlace,HopeArrivalDate,CEO,CEOApproveDT,ISApproveByCEO,InCharge,InChargeApproveDT,IsApproveByInCharge,HR,HRApproveDT,ApprovalOpinions,IsApproveByHR,Remark,UserID,LastModifiedTime,CreateTime,IsDel ,T.G_CName as DepartmentNa,T.GroupID,T1.GroupID,T1.G_CName as Position 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 order by B.ID";
using (SqlDataReader dr = DBhelper.ExecuteDataReader(System.Data.CommandType.Text, sql, null))
{
if (dr.HasRows)
{
while (dr.Read())
{
list.Add(LoadAnwerbeformular(dr));
}
}
}
return list;
}
public static AnwerbeformularTable LoadAnwerbeformular(SqlDataReader dr)
{
AnwerbeformularTable user = new AnwerbeformularTable();
user.ID = DBhelper.ExecToInt32(dr, "ID");
user.DepartmentID = DBhelper.ExecToInt32(dr, "DepartmentID");
user.PositionID = DBhelper.ExecToInt32(dr, "PositionID");
user.GradeLevel = DBhelper.ExecToString(dr, "GradeLevel");
//user.PostCode = DBhelper.ExecToString(dr, "PostCode");
user.SuggestSalary = DBhelper.ExecToString(dr, "SuggestSalary");
user.RecuitingNum = DBhelper.ExecToInt32(dr, "RecuitingNum");
user.RecuitingReasonType = DBhelper.ExecToInt32(dr, "RecuitingReasonType");
user.Reason = DBhelper.ExecToString(dr, "Reason");
user.Residence = DBhelper.ExecToInt32(dr, "Residence");
user.Sex = DBhelper.ExecToInt32(dr, "Sex");
user.Education = DBhelper.ExecToInt32(dr, "Education");
user.Age = DBhelper.ExecToString(dr, "Age");
user.PositionStatement = DBhelper.ExecToString(dr, "PositionStatement");
user.Skill = DBhelper.ExecToString(dr, "Skill");
user.Other = DBhelper.ExecToString(dr, "Other");
user.SuperiorPotion = DBhelper.ExecToString(dr, "SuperiorPotion");
user.SubordinatePosition = DBhelper.ExecToString(dr, "SubordinatePosition");
user.WorkingPlace = DBhelper.ExecToString(dr, "WorkingPlace");
user.HopeArrivalDate = DBhelper.ExecToDateTime(dr, "HopeArrivalDate");
//user.CEO = DBhelper.ExecToInt32(dr, "CEO");
//user.CEOApproveDT = DBhelper.ExecToDateTime(dr, "CEOApproveDT");
//user.ISApproveByCEO = DBhelper.ExecToInt32(dr, "ISApproveByCEO");
user.InCharge = DBhelper.ExecToInt32(dr, "InCharge");
user.InChargeApproveDT = DBhelper.ExecToDateTime(dr, "InChargeApproveDT");
user.IsApproveByInCharge = DBhelper.ExecToInt32(dr, "IsApproveByInCharge");
user.HR = DBhelper.ExecToInt32(dr, "HR");
user.HRApproveDT = DBhelper.ExecToDateTime(dr, "HRApproveDT");
user.ApprovalOpinions = DBhelper.ExecToString(dr, "ApprovalOpinions");
user.IsApproveByHR = DBhelper.ExecToInt32(dr, "IsApproveByHR");
user.Remark = DBhelper.ExecToString(dr, "Remark");
user.UserID = DBhelper.ExecToInt32(dr, "UserID");
user.LastModifiedTime = DBhelper.ExecToDateTime(dr, "LastModifiedTime");
user.CreateTime = DBhelper.ExecToDateTime(dr, "CreateTime");
user.IsDel = DBhelper.ExecToInt32(dr, "IsDel");
// user.gr
user.GroupID = DBhelper.ExecToInt32(dr, "GroupID");
user.DepartmentName = DBhelper.ExecToString(dr, "DepartmentNa");
user.PositionName = DBhelper.ExecToString(dr, "Position");
return user;
}
希望大家能教我下,如果修改我的代码能达到分页时把查询条件绑定的方法,我好参考下,去修改其他的哦
[解决办法]
好乱的代码...、
protected void btnDepartmentID_Click(object sender, EventArgs e)
{
BindUserList();
}
public void BindUserList()
{
PagedDataSource ps = new PagedDataSource();
List<AnwerbeformularTable> list=Anwerbeformularbll.GetAnwerbeformular();
if(this.ddlDepartmentID.SelectedValue!=""){
list=btnDepartmentID.getbtnDepartmentID(Convert.ToInt32(this.ddlDepartmentID.SelectedValue));
}
ps.DataSource = Anwerbeformularbll.GetAnwerbeformular();
this.AspNetPager1.RecordCount = Int32.Parse(ps.Count.ToString());
int pageIndex = this.AspNetPager1.CurrentPageIndex - 1;
int pageSize = this.AspNetPager1.PageSize = 15;
ps.AllowPaging = true;
ps.PageSize = pageSize;
ps.CurrentPageIndex = pageIndex;
UserList.DataSource = ps;
UserList.DataBind();
Judge();
}
protected void btnDepartmentID_Click(object sender, EventArgs e)
{
<span style="color: #FF0000;"> BindUserList();</span>
}
public void BindUserList()
{
PagedDataSource ps = new PagedDataSource();
List<AnwerbeformularTable> list=Anwerbeformularbll.GetAnwerbeformular();
if(this.ddlDepartmentID.SelectedValue!=""){
list=btnDepartmentID.getbtnDepartmentID(Convert.ToInt32(this.ddlDepartmentID.SelectedValue));
}
ps.DataSource = list;
this.AspNetPager1.RecordCount = Int32.Parse(ps.Count.ToString());
int pageIndex = this.AspNetPager1.CurrentPageIndex - 1;
int pageSize = this.AspNetPager1.PageSize = 15;
ps.AllowPaging = true;
ps.PageSize = pageSize;
ps.CurrentPageIndex = pageIndex;
UserList.DataSource = ps;
UserList.DataBind();
Judge();
}
