ASP.NETデータページングのつづり文字列

2895 ワード

ASP.NETのデータページングのdiv,aラベルパッケージ文字列
queryStringは、ページ分割時にパラメータを転送する必要があることを示します.たとえば、&charset=utf-8
dsはクエリーのデータリストと総ページ番号を表す
dtは、データリストを返すことを示す
結果を返すのはページのdivです
        public string GetDivPager(string queryString, DataSet ds, out DataTable dt) 
        { 
            StringBuilder sp = new StringBuilder();
            int PageSize = 10;
            if (ds != null && ds.Tables.Count > 0)
            {
                dt = ds.Tables[0];

                int TotalCount = Convert.ToInt32(ds.Tables[1].Rows[0][0].ToString());
                int rowCount = (TotalCount % PageSize != 0) ? TotalCount / PageSize + 1 : TotalCount / PageSize;
                if (dt != null && dt.Rows.Count > 0)
                {
                    sp.AppendFormat("  <p class=\"fl\">   :<span id=\"sum\">{0}</span>", TotalCount);
                    sp.AppendFormat("    :<em><b id=\"current\">{0}</b>/<span id=\"count\">{1}</span></em> ", PageIndex, rowCount);
                    sp.AppendFormat("    :<span id=\"eachPage\">{0}</span></p> ", PageSize);
                    sp.AppendFormat("  <div class=\"pagination  fr\"> ");
                    sp.AppendFormat("  <a class=\"disabled\" href='{0}'>  </a> ", "?page=1" + queryString);
                    if (PageIndex > 1)
                    {
                        sp.AppendFormat("  <a href='{0}'><     </a>", "?page=" + (PageIndex - 1) + queryString);
                    }
                    int temp = 0;
                    int loopc = rowCount > 10 ? 10 : rowCount;
                    for (int i = 0; i < loopc; i++)
                    {
                        temp = i + 1;
                        if (PageIndex > 10) { temp = (PageIndex - 10) + i + 1; }
                        sp.AppendFormat("  <a class=\"{0}\" href='{1}'>{2}</a>", PageIndex == temp ? "active" : "", "?page=" + temp + queryString, temp);
                    }
                    if (PageIndex != rowCount)
                    {
                        sp.AppendFormat("  <a href='{0}'>    ></a>", "?page=" + (PageIndex + 1) + queryString);
                    }
                    sp.AppendFormat("  <a href='{0}'>  </a>", "?page=" + rowCount + queryString);
                    sp.AppendFormat("  </div>");
                }
            }
            else 
            {
                dt = null;
            }
            return sp.ToString();
        }

ストレージ・プロシージャについては、次のセクションで説明します.