Makale Bilgileri
Makale Başlığı :

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

Etiketler : asp.net gridview kullanımıgridview ile sayfalama nasıl yapılırgridview pagingallowpaginggridview sayfalarında kaç kayıt gözükecekGridView işlenmemiş olan PageIndexChanging olayını etkinleştirdiPageIndexChanging GridView ile kayıtları Sayfa Sayfa nasıl gösteririz
Yazar :

Mehmet Sabri KUNT

Tarih :

17.12.2009

Okunma Sayısı :

1536

Kategori :

ASP.NET

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

)

 

Create ve insert sorgusuna ait scripti buradan indiririn.

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

Proje kaynak kodlarını buradan indirebilirsiniz.

 

Konu ile ilgili sorularınızı forumdan takip edebilir ve soru sorabilirsiniz.

 

 

 

Makaleyi Oylayın
acae
13 Ağustos 2010 01:43

Allah razı olsun kardeşim eline emeğine sağlık 

Hazar
17 Ocak 2010 23:59

Kardeşim çok çok teşekkür ederim, büyük bir dertten kurtardın beni, Allah razı olsun :)

tonymontana
17 Aralık 2009 21:51

eline sağlık sabri allah sitenden google botlarını eksik etmesin ;)

@seyyah zaten sqlin test veritabanıdır adventureworks,numaraları vermesinde herhangi bir sakınca yok...

seyyah
17 Aralık 2009 18:08

elinize sağlık sabri bey gayet acıklayıcı olmus yanlız müsterilerinizin isimlerini numaraları vermek doğrumu:D

Yorum Ekle

İsim (*)

 

E-Posta (Yayınlanmaz)(*)

 

Yorum

Gönder
Close