如何使用AspNetPager分页控件对动态查询的结果进行分页
注意:
如果 设置UrlPaging 为True,后台用ViewState是保存不住查询条件的,如果非要用Url分页,可以用Session保存查询条件。
后台代码 :
const string vsKey = "archCompany"; //ViewState key
protected void Page_Load(object nder, EventArgs e)
{
if (!IsPostBack)
{
BindCompany();//服务区绑定
if (ViewState[vsKey] != null)
{
if (ViewState[vsKey].ToString() != "")
{
dp_Cname.Value = ViewState[vsKey].ToString().Split('=')[1].ToString(); //赋值 cid 也就是服务区的名字
}
}
showresult(string .Empty); //显示信息
}
}
//显示信息
void showresult(string sWhere)
{
DataTable dt = new DataTable();
ZGF_CG_DAL.SqlHelper.FillDataTable("lect * from Rank_company_total_price "+sWhere, dt);
#region 自定义一个表格样式 得到想要的数据源 dtcol
System.Data.DataTable dtcol = new System.Data.DataTable();
dtcol.Columns.Add("Cname");//服务区名称
dtcol.Columns.Add("Riqi");//日期
dtcol.Columns.Add("Total_price",typeof(decimal));//总金额
dtcol.Columns.Add("Pming");//排名
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow drcol = dtcol.NewRow();
drcol["Cname"] = ZGF_CG_DAL.SqlHelper.ExecuteScalar("lect Cname from Company where id='" + dt.Rows[i]["Cid"].ToString() + "'").ToString(); //服务区名称
drcol["Riqi"] = dt.Rows[i]["Riqi"].ToString();//日期
drcol["Total_price"] = Convert.ToDecimal(dt.Rows[i]["Total_price"].ToString()).ToString("#,##0.00");//总金额
drcol["Pming"] = dt.Rows[i]["Rank_num"].ToString();//排名
dtcol.Rows.Add(drcol);
}
#endregion
#region 绑定分页控件
AspNetPager1.RecordCount = dtcol .Rows .Count;
PagedDataSource pds = new PagedDataSource();
pds.DataSource = dtcol.DefaultView;
pds.AllowPaging = true;
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
pds.PageSize = AspNetPager1.PageSize;
Re_AdminUr.DataSource = pds;
Re_AdminUr.DataBind();
#endregion
}
//改变编号 对应前台 <%# Convert.ToInt32(Container.ItemIndex)+1 +tp() %>
public int tp()
{
int p = Convert.ToInt32(AspNetPager1.CurrentPageIndex);
return p * 10 - 10; // 其中的10代表每页显示10条记录
}
//分页
protected void AspNetPager1_PageChanged(object nder, EventArgs e)
{
showresult((string)ViewState[vsKey]);
}
#region 服务区绑定
public void BindCompany()
{
string sql = "lect Id ,Cname from Company order by Cname";
DataTable dt = ZGF_CG_DAL.DBhelp.ExecuteDataTable(sql);
this.dp_Cname.DataSource = dt;
this.dp_Cname.DataValueField = "Id";
this.dp_Cname.DataTextField = "Cname";
this.dp_Cname.DataBind();
this.dp_Cname.Items.Inrt(0, "-所有服务区-");
}
#endregion
//查询
protected void btn_ok_Click(object nder, EventArgs e)
{
AspNetPager1.CurrentPageIndex = 1;
string s = "";
if (dp_Cname.Value != "-所有服务区-")
{
s = " where Cid=" + dp_Cname.Value;
}
ViewState[vsKey] = s;
showresult(s);
}
如何将AspNetPager添加到程序中
dll文件随便放在哪里,最好放在一个固定的地方,然后随便打开一个网站项目,打开某个页面之后,在工具箱的空白处右击;点“添加选项卡”,然后输入名字,回车;在改选项卡上右击,点“选择项...”,在弹出的窗口中选择“.NET
Framework
主键”选项卡;点下面的“浏览”按钮找到刚刚的AspNetPager的dll文件,然后确定就可以了。该控件已经安装到刚刚新建的选项卡下面了。
AspNetPager 分页样式和如何去掉跳转框
<webdiyer:AspNetPager ID="AspNetPager1" runat="rver" PageSize="6"
FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页"
onpagechanged="AspNetPager1_PageChanged" SubmitButtonText="跳转" AlwaysShow="True" ShowInputBox="Always">
</webdiyer:AspNetPager>
去掉这个属性“ShowInputBox="Always"跳转框就消失了。
AspNetPager控件没有显示总页数和当前页的属性吗
前台:后台://////加载事件///protectedvoidPage_Load(objectnder,EventArg){BoundList();}//////全局的变量,分页用的参数数据信息总数///publicstaticintsumcount;//////绑定信息数据///privatevoidBoundList(){DataTabledt=GetList().Tables[0];//获取数据源if(dt.Rows.Count>0){sumcount=dt.Rows.Count;PagedDataSourcepds=newPagedDataSource();AspNetPager1.RecordCount=sumcount;pds.AllowPaging=true;pds.PageSize=AspNetPager1.PageSize;pds.CurrentPageIndex=AspNetPager1.CurrentPageIndex-1;pds.DataSource=dt.DefaultView;this.gridView1.DataSource=pds;//可以绑定到Gridview、datalist等数据控件上,此处为Gridviewthis.gridView1.DataBind();}el{AspNetPager1.RecordCount=0;this.gridView1.DataSource=null;gridView1.EmptyDataText="没有相关信息!";this.gridView1.DataBind();}}//////分页控件的翻页事件///protectedvoidAspNetPager1_PageChanged(objectnder,EventArg){BoundList();}http://zhidao.baidu.com/question/334985338.html?oldq=1