Repeater ve DataList ile Pratik Sayfalama İşlemi

@ 10 Aralık 2009 tarihinde yazdı. Yazıya yorum yazın.

Çalışmalarımızda birden fazla kaydın listelendiği noktalarda sayfalama işlemine ihtiyaç duyuyoruz. Bu işlemleri repeater ya da datalist kullanarak bir takım kod yapılarından geçirilerek sayfalama işlemini sonlandırabiliyoruz.

Bu işlemler projelerimizde belli aşamalardayken ekstra olarak zamanımızı alabiliyor ve bu doğrultuda CollectionPager.dll dosyası imdadımıza yetişiyor. Projemize dosyamızı dahil ettikten sonra kolaylıkla repeater ya da datalist ile sayfalama işlemi yapabiliyoruz. Bir örnekle açıklayalım.

Öncelikle bu adresten dosyamızı upload edelim.

Dosyamızı upload ettikten sonra Toolbox’a dosyamızı import ediyoruz.Import işleminin ardından eklemiş olduğunuz dll dosyamızı projemize sürükleyip ekliyoruz ve sayfalama işlemini yapmak istediğiniz item’i seçiyoruz ben repeater’i seçtim .Gerekli database bağlantılarını ve Web.config ayarlarını yaptıktan sonra işlemlere geçebiliriz.

Default.aspx

<asp:Repeater ID="Repeater1" runat="server">

<ItemTemplate>

<%#DataBinder.Eval(Container.DataItem,"yorum") %><br />

</ItemTemplate>

</asp:Repeater>

<br />

<cc1:CollectionPager ID="CollectionPager1" runat="server" BackText="« Önceki"

FirstText="İlk" LabelText="Sayfa:" LastText="Son" NextText="Sonraki »"

PageNumbersDisplay="Numbers" ResultsFormat="Sayfalar {0}-{1} (Toplam:{2})"

PageSize="5" SectionPadding="10">

</cc1:CollectionPager>

CollectionPager dosyamız üzerinde sayfalama miktarı vb. ayarları yapabiliyoruz.Sayfamızdaki düzenlemeleri yaptıktan sonra şimdi de CollectionPager’i repeater ile etkileşim oluşturacağımız kodları yazalım.

Default.cs

protected void Page_Load(object sender, EventArgs e)

{

if (Page.IsPostBack == false)

{

IcerikGetir();

}

}

protected void IcerikGetir()

{

SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cnn"].ConnectionString);

SqlCommand cmd = new SqlCommand("SELECT * FROM urunyorum",cnn);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

cnn.Open();

CollectionPager1.DataSource = dt.DefaultView;

CollectionPager1.BindToControl = Repeater1;

Repeater1.DataSource = CollectionPager1.DataSourcePaged;

Repeater1.DataBind();

cnn.Close();

}

IcerikGetir adından bir fonksiyon oluşturdum bu fonksiyon içinde urunyorum tablosundaki verileri çekiyoruz ve ardından CollectionPager’ın datasource ve databind kontrollerinin görevlerini yerine getirmeleri için repeater kontrolümüze bağlıyoruz.

Bu işlemlerin ardından projemizi çalıştırıyoruz.

sayfalama

Gördüğünüz gibi sayfalama işlemini pratik olarak gerçekleştiriyoruz.

CollectionPager ile artık sayfalama işlemlerinizi kolaylıkla gerçekleştirebilirsiniz.

Olcay KÜK

http://www.olcaykuk.com