Cüneyt Kocabıyık

Sayfalama

Sayfalama

İndex.cs:

public string    paging, prev, next, ilksayfa, sonsayfa;
public int basla, bitir, s;       

Class bg = new Class();

        protected void sayfalar(int sayfano, string url, int say)
        {
            string[] parcalar;
            parcalar = bg.paging(sayfano, ex, url, say).Split(',');
            paging = parcalar[0];
            basla = Int32.Parse(parcalar[1]);
            bitir = Int32.Parse(parcalar[2]);
            prev = parcalar[3];
            next = parcalar[4];
            ilksayfa = parcalar[5];
            sonsayfa = parcalar[6];
        }

 

            try//sayfa link çarpan
            {
                try
                {
                    s = Int32.Parse(bg.filtreleme(Request.QueryString["s"].ToString()));
                }
                catch (Exception)
                {
                    s = 1;
                }

                //////paging

string toplamsatir=100;//
                string sayfaurl = HttpContext.Current.Request.RawUrl;
                sayfalar(s, sayfaurl, toplamsatir);
            }
            catch (Exception)
            { }

 

Class.cs:        

public string pagings, bas, next, prev;
public int limit, sayfa, sayfasayisi;


        public SqlConnection baglan()
        {
            string bag_str = ConfigurationManager.ConnectionStrings["Conn"].ConnectionString;

            SqlConnection baglanti = new SqlConnection(bag_str);

            baglanti.Open(); // baglanti connection açıyoruz return (baglanti); //baglanti connection döndürüyoruz }
            return (baglanti);
        }

 public string paging(int s, string url, int sayfa)
        {

            int basla, bitir,ns,ps;
            double ondalik;
            ////satırlimiti
            basla = 0;
            bitir = 0;
            ondalik = 0;
            ps = 0;
            ns = 0;
            sayfasayisi = 0;
            pagings = "";
            bas = "";

            try
            {
                SqlConnection baglancls = this.baglan();
                DataTable lm = new DataTable();
                SqlDataAdapter limitler = new SqlDataAdapter("SELECT Tablo FROM SayfaLimiti", baglancls);
                limitler.Fill(lm);
                limit = Int32.Parse(lm.Rows[0]["SayfaLimiti"].ToString());
                limitler.Dispose();
                baglancls.Close();
                baglancls.Dispose();
                ondalik = sayfa / limit;
                sayfasayisi = Int32.Parse(Math.Round(ondalik).ToString()) + 1;
            }
            catch (Exception)
            { }
            try
            {
                basla = (s * limit) - (limit - 1);
                bitir = limit * s;

                string active;
                /////////////////sırala
                int ilk, son;
                ilk = s - 5;
                if (ilk < 1) ilk = 1;
                son = s + 5;
                if (son > sayfasayisi) son = sayfasayisi;
                for (int i = ilk; i <= son; i++)
                {
                    if (s == i)
                    {
                        active = "active";
                    }
                    else { active = ""; }
                    pagings += "<li class='page-item " + active + "'><a class='page-link' href='?s=" + i + "'>" + i + "</a></li>";
                }
                string ilksayfa, sonsayfa;
                if (sayfasayisi > 1 && s > 1)
                {
                    ns=s-1;
                    prev = "<a class='page-link' href='?s=" + ns + "' aria-label='Previous'><span aria-hidden='true'>&laquo;</span><span class='sr-only'>Previous</span></a>";
                    ilksayfa = "<a class='page-link' href='?s=1'>...</a>";
                }
                else
                {
                    prev = "";
                    ilksayfa = "";
                }
                if (s < sayfasayisi)
                {
                    ps=s+1;
                    next = "<a class='page-link' href='?s=" + ps + "' aria-label='Next'><span aria-hidden='true'>&raquo;</span><span class='sr-only'>Next</span></a>";
                    sonsayfa = "<a class='page-link' href='?s=" + sayfasayisi + "'>...</a>";
                }
                else
                {
                    next = "";
                    sonsayfa = "";
                }

                ///////////////////////////
                bas = pagings + "," + basla + "," + bitir + "," + prev + "," + next + "," + ilksayfa + "," + sonsayfa;
            }
            catch (Exception)
            { }
            return (bas);
        }