如何使用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