Üye Kayıt Üye Giriş

GridView Kontrolü Üzerinde Kayıtları Sayfa Sayfa Göstermek


GridView Kontrolü Üzerinde Kayıtları Sayfa Sayfa Göstermek

 

ASP.net te en çok kullandığımız kontrollerden biriside GridView dir. Gridviewde göstermek istediğimiz kayıt sayısı çok fazla olduğunda, sayfanın aşağıya doğru çok uzamasını istemeyiz. Bu durumda gridview kontrolü üzerinde sayfalama kullanırız. ASP.net le gelen Gridview kontrolü sayfalama işlemlerini oldukça kolaylaştırmaktadır. Bu makalemizde Gridview üzerinde verileri sayfalayarak nasıl göstereceğimizi anlatmaya çalışacağım.

 

İlk olarak kullanacağımız veritabanını oluşturalım. Bunun için Microsof’tun ücretsiz olarak sunduğu AdventureWorksLT2008R2 isimli veritabanında bulunan Customer isimli tablodaki kolonlardan bir kısmını alıp Musteri isimli bir tablo yaptım. Bu yüzden tablodaki veriler İngilizce. Kullandığım tabloyu kendi veritabanınızda oluşturabilmeniz için create ve insert scriptlerini aşağıda verdim.

 

Tabloyu oluşturmak için aşağıdaki sorguyu çalıştırın. Insert sorgusu çok uzun olacağı için sorguyu dosya olarak ekledim.

 

CREATE TABLE [dbo].[Musteri](

      [MusteriID] [int]   NOT NULL,

      [Ad] [varchar](50) NOT NULL,

      [Soyad] [varchar](50) NOT NULL,

      [SirketAdi] [varchar](128) NULL,

      [EPosta] [varchar](50) NULL,

      [Telefon] [varchar](50) NULL

)

 

 

Veritabanımızı oluşturduğumuza göre şimdi gelelim verileri göstereceğimiz web sayfasına. Yeni bir web sitesi oluşturarak başlayalım. Bu kısımları bildiğinizi farz edip direk kodlamaya geçelim

 

Default.aspx sayfasına bir gridview ekleyip adını MusteriGridView yapalım.

 

<asp:GridView ID="MusteriGridView" runat="server">

</asp:GridView>

 

Daha sonra kod kısmına gelip aşağıdaki kodları ekleyelim.

 

protected void Page_Load(object sender, EventArgs e)

{

    if (!IsPostBack)

    {

        DatalariDoldur();

    }

}

 

private void DatalariDoldur()

{

    SqlConnection conn = new SqlConnection();

   

    conn.ConnectionString = "Data Source=.;Initial Catalog=MakaleDeneme;Integrated Security=True;";

    conn.Open();

    SqlDataAdapter da = new SqlDataAdapter("Select * from Musteri", conn);

    da.SelectCommand.ExecuteNonQuery();

    DataSet ds = new DataSet();

    da.Fill(ds);

    MusteriGridView.DataSource = ds;

    MusteriGridView.DataBind();

}

 


Yukarıdaki kodları ekleyip projeyi çalıştırdığınızda veritabanına eklediğimiz 847 adet Müşteri kaydının girdview’e basıldığını ve sayfanı aşağı doğru uzadığını göreceksiniz. Şimdi gelelim bu verileri sayfa sayfa göstermeye.

 

İlk olarak GridViewin sayfalama özelliğini aktif hale getirelim ve sayfa başına 20 kayıt gelecek şekilde ayarlayalım. Bunları yapmak için html kodunuzu aşağıdaki gibi değiştirmeniz yeterlidir.

 

<asp:GridView AllowPaging="true" PageSize="20" ID="MusteriGridView" runat="server">

</asp:GridView>

 

Tek yaptımızı AllowPaging özelliğini true yapmak ve pagesize değerini 20 ye ayarlamak. Projemizi çalıştırdığınızda girdview içerisinde sadece 20 kayıt göreceksiniz ayrıca gridviewin altında sayfa numaraları belirecek. Şimdi bu sayfa numaralarından 2 ye basarsanız aşağıdaki hatayı alacaksınız.

MusteriGridView' GridView işlenmemiş olan PageIndexChanging olayını etkinleştirdi.

 

Bu hatanın nedeni GridViewing paging eventi esnasında çalışacak olan kodlarını yazmamış olmamız bunun için gridviewin html kodlarını aşağıdaki gibi değiştirin yada gridviewi sağ tıklayıp özellikler ordan eventlara geçip  PageIndexChanging eventini çift tıklayın.

 

<asp:GridView AllowPaging="true" PageSize="20" ID="MusteriGridView"

    runat="server" onpageindexchanging="MusteriGridView_PageIndexChanging" >

</asp:GridView>

 

Kod kısmında da bu fonksiyonun içini dolduracağız.

 

protected void MusteriGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)

{

    MusteriGridView.PageIndex = e.NewPageIndex;

    DatalariDoldur();

}

 


Artık projemizi çalıştırdığımızda grid üzerinde 20 kayıt görünecek ve her sayfaya geçtiğimizde diğer müşteri bilgilerine erişeceğiz.

 

GridView Sayfalama

Bilgisayar Dershanesi Ders Sahibi;
Bilgisayar Dershanesi

Yorumlar

Yorum Yapabilmek İçin Üye Girişi Yapmanız Gerekmektedir.

ETİKETLER