ASP.NET Sayfalama(Pagination)

Form Tarafı

    <div class="container ortala">
        <div class="row aramasatiri">
              <div class="col-md-3">
  <asp:Button CssClass="btn btn-default" ID="btnFirst" runat="server" Text="First" OnClick="btnFirst_Click" />               
  <asp:Button CssClass="btn btn-default" ID="cmdPrev" runat="server" Text="Previous" OnClick="cmdPrev_Click"  />
  <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
  <asp:Button CssClass="btn btn-default" ID="cmdNext" runat="server" Text="Next" OnClick="cmdNext_Click" />
  <asp:Button CssClass="btn btn-default" ID="btnLast" runat="server" Text="Last" OnClick="btnLast_Click" />
              </div>
            
            <div class="col-md-6">
                <asp:TextBox  CssClass="form-control" ID="TextBox1" runat="server" onkeyup="myFunction()"  ></asp:TextBox>
              
        </div>
            <div class="col-md-1 text-left">
                <asp:Button CssClass="btn btn-default right" ID="Button1" runat="server" Text="Ürün Ara" OnClick="Button1_Click" />
                
        </div>
            <div class="col-md-2 pull-right">
                <asp:Button CssClass="btn btn-default" ID="btnUrunListele" runat="server" Text="Liste Görünümü" OnClick="btnUrunListele_Click" />
              </div>
</div>
        
    
        <p><asp:Label ID="sonuclbl" runat="server"></asp:Label></p>
     
    </div>
       
    <div class="container urunbody">
<asp:DataList ID="DataList1" CssClass="defaultanadatalist" runat="server"  RepeatColumns="5">
            <ItemTemplate>
                <div class="kutu">
        <div class="ickutu">
      
            <table class="defaultanadatalist">
                
                <tr>
                    <td><!--//'<%# Eval("FOTO") %>'//ImageUrl="~/images/urunler/5.jpg"-->
                        <asp:LinkButton ID="LinkButton1" CommandArgument='<%# Eval("CODE") %>' runat="server" OnCommand="LinkButton1_Command"><asp:Image width="200px" height="200px" ID="Image1" runat="server" ImageUrl="~/images/deneme.png" /></asp:LinkButton> 
                    </td>
                </tr>
                
                <tr>
                    <td>
                        <asp:Label ID="CODELabel" runat="server" Text='<%# Eval("CODE") %>' Font-Size="11pt" ForeColor="#FF9933"></asp:Label>
                    </td>
                </tr>
                <tr class="urunadisatiri">
                    <td>
                        <asp:LinkButton ID="LinkButton2" CssClass="urunadi" runat="server" OnCommand="LinkButton1_Command" CommandArgument='<%# Eval("CODE") %>'><%# Eval("NAME") %></asp:LinkButton>
                        <%--<asp:Label  ID="NAMELabel" runat="server" Text='<%# Eval("NAME") %>'></asp:Label>--%>
                        
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="PRICELabel" runat="server" Text='<%# Eval("PRICE") %>' Font-Bold="True" ForeColor="#000" ></asp:Label>
                    </td>
                </tr>

            </table>
       
        </div>

    </div>
                              
            </ItemTemplate>
    <ItemStyle CssClass="dturunler" />

</div>


Sayfa Numaraları 

   </asp:DataList>
   <asp:DataList ID="dlPaging" runat="server" RepeatDirection="Horizontal" OnItemCommand="dlPaging_ItemCommand"
         OnItemDataBound="dlPaging_ItemDataBound">
   <ItemTemplate>
                                        
    <ul class="pagination">
    <li><asp:LinkButton ID="lnkbtnPaging" runat="server" CommandArgument='<%# Eval("PageIndex") %>'
    CommandName="Paging" Text='<%# Eval("PageText") %>'></asp:LinkButton></></li>
    </ul>
                                        
  </ItemTemplate>
     
   </asp:DataList> 
         



C# Tarafı

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
   #region Private Properties
    private int CurrentPage
    {
        get
        {
            object objPage = ViewState["gecerlisayfa"];
            int gecerlisayfa = 0;
            if (objPage == null)
            {
                gecerlisayfa = 0;
            }
            else
            {
                gecerlisayfa = (int)objPage;
            }
            return gecerlisayfa;
        }
        set { ViewState["gecerlisayfa"] = value; }
    }
    private int fistIndex
    {
        get
        {

            int ilksayfa = 0;
            if (ViewState["ilksayfa"] == null)
            {
                ilksayfa = 0;
            }
            else
            {
                ilksayfa = Convert.ToInt32(ViewState["ilksayfa"]);
            }
            return ilksayfa;
        }
        set { ViewState["ilksayfa"] = value; }
    }
    private int lastIndex
    {
        get
        {

            int sonsayfa = 0;
            if (ViewState["sonsayfa"] == null)
            {
                sonsayfa = 0;
            }
            else
            {
                sonsayfa = Convert.ToInt32(ViewState["sonsayfa"]);
            }
            return sonsayfa;
        }
        set { ViewState["sonsayfa"] = value; }
    }


    string conString = ConfigurationManager.ConnectionStrings["nmdbConnectionString"].ToString();
    #endregion
    protected void Page_Load(object sender, EventArgs e)
    {
         
        if (!IsPostBack)
        {

            this.datalistDoldur();
            SessionKontrol();

        }  
        else
        {
            SessionKontrol();
        }

    }
    private void doPaging()
    {
      
        DataTable dt = new DataTable();
        dt.Columns.Add("PageIndex");
        dt.Columns.Add("PageText");

        fistIndex = CurrentPage - 5;


        if (CurrentPage >5)
        {
            lastIndex = CurrentPage + 11;
            fistIndex = CurrentPage + 1;
        }
        else
        {
            lastIndex = 10;
        }
        if (lastIndex > Convert.ToInt32(ViewState["TotalPages"]))
        {
            lastIndex = Convert.ToInt32(ViewState["TotalPages"]);
            fistIndex = lastIndex - 10;
        }

        if (fistIndex < 0)
        {
            fistIndex = 0;
        }

        for (int i = fistIndex; i < lastIndex; i++)
        {
            DataRow dr = dt.NewRow();
            dr[0] = i;
            dr[1] = i + 1;
            dt.Rows.Add(dr);
        }

        this.dlPaging.DataSource = dt;
        this.dlPaging.DataBind();
    }

    protected void dlPaging_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName.Equals("Paging"))
        {
            CurrentPage = Convert.ToInt16(e.CommandArgument.ToString());
            this.datalistDoldur();
        }
    }
    protected void dlPaging_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        LinkButton lnkbtnPage = (LinkButton)e.Item.FindControl("lnkbtnPaging");
        if (lnkbtnPage.CommandArgument.ToString() == CurrentPage.ToString())
        {
            lnkbtnPage.Enabled = false;
            lnkbtnPage.Style.Add("fone-size", "14px");
            lnkbtnPage.Font.Bold = true;

        }
    }
  


    #region PagedDataSource
    PagedDataSource pds = new PagedDataSource();
    #endregion

    public int i;
    public string arananyazi;
    public string arananyazitersi;
    public void datalistDoldur()
    {
        
        if (TextBox1.Text == "")
        {
            arananyazi = "";
            arananyazitersi = "";

        }
        else
        {
           
            string[] dizi;


            dizi = TextBox1.Text.Split(' ');//boşluk karakteriyle


            if (dizi.Length > 1)
            {
                arananyazi = dizi[0] + "%" + dizi[1];
                arananyazitersi = dizi[1] + "%" + dizi[0];
            }
            else if (dizi.Length > 2)
            {
                arananyazi = dizi[0] + "%" + dizi[1] + "%" + dizi[2];
                arananyazitersi = dizi[2] + "%" + dizi[1] + "%" + dizi[0];
            }
            else
            {
                arananyazi = dizi[0];
                arananyazitersi = dizi[0];
            }


        }

        string connectionString1 = ConfigurationManager.ConnectionStrings["nmdbConnectionString"].ConnectionString;


        SqlConnection connection1 = new SqlConnection(connectionString1);
        SqlCommand command1 = new SqlCommand("SELECT * FROM WSTOK WHERE NAME like'%" + arananyazi + "%' OR NAME like'%" + arananyazitersi + "%'", connection1);
        connection1.Open();

        SqlDataAdapter da = new SqlDataAdapter(command1);
        DataSet ds = new DataSet();
        da.Fill(ds);


        PagedDataSource pds = new PagedDataSource();
        pds.DataSource = ds.Tables[0].DefaultView;



        pds.AllowPaging = true;
        pds.PageSize = 30;
        pds.CurrentPageIndex = CurrentPage;
        ViewState["TotalPages"] = pds.PageCount;
        

        this.Label1.Text = "Page " + (CurrentPage + 1) + " of " + pds.PageCount;
        this.cmdPrev.Enabled = !pds.IsFirstPage;
        this.cmdNext.Enabled = !pds.IsLastPage;
        this.btnFirst.Enabled = !pds.IsFirstPage;
        this.btnLast.Enabled = !pds.IsLastPage;




        this.DataList1.DataSource = pds;
        this.DataList1.DataBind();
        this.doPaging();

        connection1.Close();
        SessionKontrol();

       

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        CurrentPage = 0;
        datalistDoldur();
    

    }
    
    
    protected void TextBox1_TextChanged(object sender, EventArgs e)
    {

    }

    public string temp;
    protected void cmdNext_Click(object sender, EventArgs e)
    {
       
         
            CurrentPage += 1;
            this.datalistDoldur();
       
    }
    protected void cmdPrev_Click(object sender, EventArgs e)
    {   
    
            CurrentPage -= 1;
            this.datalistDoldur();
    }
    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {

        //if(e.CommandName == "cmdlistele")
        //{
        //    Response.Redirect("urunincele.aspx?id="+e.CommandArgument.ToString());
        //}
    }

    protected void Button1_Command(object sender, CommandEventArgs e)
    {
    //    Response.Redirect("urunincele.aspx?id=" + e.CommandArgument.ToString());
    }



   
    protected void btnUrunListele_Click(object sender, EventArgs e)
    {
        Response.Redirect("urunlistele.aspx");
    }
    protected void LinkButton1_Command(object sender, CommandEventArgs e)
    {
        Response.Redirect("urunincele.aspx?id=" + e.CommandArgument);
    }




    public void SessionKontrol()
    {
        if (Session["madi"] == null)
        {
            foreach (DataListItem item in DataList1.Items)
            {
                Label myTempLabel = (Label)item.FindControl("PRICELabel");
                //myTempLabel.Visible = false;
                myTempLabel.Text = "fiyatlar için giriş yapın";

            }
        }
        else
        {
            foreach (DataListItem item in DataList1.Items)
            {
                Label myTempLabel = (Label)item.FindControl("PRICELabel");
                myTempLabel.Visible = true;
                myTempLabel.ForeColor = System.Drawing.Color.Black;

            }

        }
    }
    protected void btnLast_Click(object sender, EventArgs e)
    {
        CurrentPage = (Convert.ToInt32(ViewState["TotalPages"]) - 1);
        this.datalistDoldur();
    }
    protected void btnFirst_Click(object sender, EventArgs e)
    {
        CurrentPage = 0;
        this.datalistDoldur();
        
    }
}


    

Hiç yorum yok:

Yorum Gönder