一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

asp.net aspnetpager分頁統計時與實際不符的解決辦法

基本函數如下:
復制代碼 代碼如下:
/// <summary>
/// 需要分頁時使用,根據參數和ConditionExpress獲取DataTable
/// </summary>
/// <param name="_tableName">表名</param>
/// <param name="_fieldNames">字段名集合,用逗號分開</param>
/// <param name="_OrderColumn">排序字段,用于統計有多少條記錄</param>
/// <param name="IsDesc">是否倒序</param>
/// <param name="_indexColumn">自增字段名</param>
/// <param name="_currentPage">當前頁</param>
/// <param name="pageSize">頁大小</param>
/// <param name="_rowsCount">總記錄數</param>
/// <returns>獲取到的DataTable</returns>
public static DataTable GetDataTable(string _tableName, string _fieldNames, string _OrderColumn, bool IsDesc, string _indexColumn, int _currentPage, int pageSize, string conditionExpress, ref int _rowsCount)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
string whereStr = " where 1=1 ";
string sort = IsDesc ? " desc" : " asc";

string sqlStr = " from " + _tableName;
//排序字段
string orderStr = " order by " + _OrderColumn + sort;
if (_OrderColumn != _indexColumn)
orderStr += "," + _indexColumn + sort;
if (conditionExpress != string.Empty)
{
whereStr += conditionExpress;
}
sqlStr += whereStr;

//取得符合條件的數據總數
SqlCommand cmd = new SqlCommand("select count(" + _OrderColumn + ") " + sqlStr, conn);
conn.Open();
try
{
_rowsCount = (int)cmd.ExecuteScalar();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}

if (_currentPage > _rowsCount) _currentPage = _rowsCount;

if (_currentPage > 1)
{
if (IsDesc)
sqlStr += " and " + _OrderColumn + " < (select MIN(" + _OrderColumn + ") from ";
else
sqlStr += " and " + _OrderColumn + " > (select MAX(" + _OrderColumn + ") from ";
sqlStr += "(select top " + (pageSize * (_currentPage - 1)) + " " + _OrderColumn + " from " + _tableName + whereStr + orderStr + ") as t)";
}
sqlStr = "select top " + pageSize + " " + _fieldNames + sqlStr + orderStr;

try
{
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);
da.Fill(ds);
return ds.Tables[0];
}
catch (Exception EX)
{
throw new Exception(EX.Message);
}
}
}

調用如下:
復制代碼 代碼如下:
private void bind()
{
int rowCount = 1;
string wherestr = string.Empty;
//設置分頁
anPager.AlwaysShow = true;
anPager.PageSize = 10;
this.rptdictionary.DataSource = GetDataTable(
"dictionary_Toysgogo_",
"[id_dictionary_],[namecn_dictionary_],[nameen_dictionary_],[point_dictionary_]",
"[id_dictionary_]",
true,
"[id_dictionary_]",
this.anPager.CurrentPageIndex,
anPager.PageSize,
wherestr,
ref rowCount
);
this.anPager.RecordCount = rowCount;
this.rptdictionary.DataBind();
}

復制代碼 代碼如下:
//分頁切換
protected void anPager_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
this.anPager.CurrentPageIndex = e.NewPageIndex;
this.tbxType.Text = this.tbxType.Text;
bind();
}

之前一直在頁數方面直接用數字寫進去,沒有寫成anPager.PageSize=10;的形式,在老湯的提醒下,做了修改,也解決了一直困擾我的問題。

AspNet技術asp.net aspnetpager分頁統計時與實際不符的解決辦法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 黄色片网站在线免费观看 | 欧美人与禽片免播放 | 操老师影院 | 伊人蕉久 | 国产成人乱码一区二区三区在线 | 天天干一干 | 亚洲欧洲日产国码 最新 | 五月激情综合网 | 五月激情五月婷婷 | 久久国产乱子 | 国产小视频在线免费 | 免费国产叼嘿视频在线观看 | 伊人小婷婷色香综合缴缴情 | 亚洲综合色一区二区三区小说 | 日本一区二区三区在线 视频观看免费 | 亚洲高清国产拍精品影院 | 亚洲a视频在线 | 色老板在线 | 五月婷婷俺来也 | 欧美激情一区二区三区在线 | 国产91精品久久久久久 | 国产精亚洲视频 | 日韩三级中文 | 日韩久久精品 | 一本色道久久综合亚洲精品 | 久草免费在线色站 | 欧美在线网站 | 亚洲欧美另类精品久久久 | 日韩一区二区三区视频在线观看 | 加勒比精品 | 涩视频成人永久免费观看网站 | 欧美日韩国产超高清免费看片 | 九九九免费视频 | 亚洲一区二区三区高清 | 91秒拍国产福利一区 | 最新国产毛片 | 欧美特黄a级高清免费大片 欧美特黄a级高清免费看片 | 久久麻豆精品 | 亚洲免费色视频 | 国产成人盗拍精品免费视频 | 亚洲欧美日韩精品香蕉 |