Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


ObjectDataSource Nesnesini Kullanarak GridView’da Custom Paging

Yazar: ..

Kategori: ASP.NET

Eklenme Tarihi: 25.05.2007 07:12:29

Merhabalar ObjectDataSource nesnesini kullanarak Gridview’da Sayfalama yapacağız. Visual Studio .Net 2005 ile birlikte bir çok yenilik gelmiştir.Bu yeniliklerin biride objectdatasource, objectdatasource nesnesi database ile sayfada verilerin listelenmesi arasında veri alışverişini sağlar.
Merhabalar ObjectDataSource nesnesini kullanarak Gridview’da Sayfalama yapacağız. Visual Studio .Net 2005 ile birlikte bir çok yenilik gelmiştir.Bu yeniliklerin biride objectdatasource, objectdatasource nesnesi database ile sayfada verilerin listelenmesi arasında veri alışverişini sağlar.

Kısa açıklamadan sonra kodlamamıza geçebiliriz;

Html kodlarımızı görelim ilk önce;

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Ürünleri Listele</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" CellPadding="4" DataSourceID="odsUrun"

ForeColor="#333333" GridLines="None" AllowPaging="True" PageSize="3" Width="382px">

<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />

<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />

<SelectedRowStyle BackColor="#f3f0f6" Font-Bold="True" ForeColor="Navy" />

<PagerStyle BackColor="#f3f0f6" ForeColor="#333333" HorizontalAlign="Center" CssClass="pager"/>

<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />

<AlternatingRowStyle BackColor="White" />

<PagerSettings FirstPageText="First Page" LastPageText="Last Page" Mode="NextPreviousFirstLast" />

</asp:GridView>

</div>

<asp:ObjectDataSource ID="odsUrun" runat="server" SelectMethod="UrunleriGetir"

TypeName="UrunListele" EnablePaging="True" MaximumRowsParameterName="PageSize" SelectCountMethod="GetRowsCount" StartRowIndexParameterName="StartRow" >

</asp:ObjectDataSource>

</form>

</body>

</html>

Şimdi Sıra UrunListele Class’ımıza bakmaya geldi;

Imports Microsoft.VisualBasic

Imports System.Data

Public Class UrunListele

Public Sub New()

MyBase.New()

End Sub

Public Function UrunleriGetir(ByVal StartRow As Integer, ByVal PageSize As Integer) As DataView

'Bu method Urunlistesi.xml dosyasından verileri getirir.

'getdata database'den verileri okumak için eklenmelidir.

Return VeriGetir(StartRow, PageSize)

End Function

Private Function VeriGetir(ByVal StartRow As Integer, ByVal PageSize As Integer) As DataView

'bu method App_Code içindeki xml'den verileri okumak için gereklidir.

Dim Urunler As DataSet = New DataSet

Urunler.ReadXml(HttpContext.Current.Server.MapPath("~/App_Data/ProductsList.xml"))

Dim UrunTablosu As DataTable = Urunler.Tables(0)

'gelen kayıtları boş bir tablo oluşturarak bu oluşturduğumuz boş tabloda tutarız.

Dim UrunTablosuSayfalama As DataTable = UrunTablosu.Clone

'Datarow UrunlerRow

'i=NewPageIndex*PageSize gelen kayıtları yeni sayfada verir.

Dim i As Integer = StartRow

Do While ((i _

< (StartRow + PageSize)) _

AndAlso (i < UrunTablosu.Rows.Count))

'row ekle

UrunTablosuSayfalama.ImportRow(UrunTablosu.Rows(i))

i = (i + 1)

Loop

Return UrunTablosuSayfalama.DefaultView

End Function

Public Function GetRowsCount() As Integer

'bu method xml dosyası içindeki kayıtların kaç tane olduğunu getirir.

Dim Products As DataSet = New DataSet

Products.ReadXml(HttpContext.Current.Server.MapPath("~/App_Data/ProductsList.xml"))

Return Products.Tables(0).Rows.Count

End Function

End Class

Ve son olarakta Urunlistesi.xml dosyamızın içeriğine bakmaya geldi;

<?xml version="1.0" encoding="utf-8" ?>

<ProductsList>

<Urun Adi="Hard Disk" id="1"/>

<Urun Adi="CPU" id="2"/>

<Urun Adi="RAM" id="3"/>

<Urun Adi="Head Phones" id="4"/>

<Urun Adi="Mic" id="5"/>

<Urun Adi="Mouse" id="6"/>

<Urun Adi="DVD ROM" id="7"/>

<Urun Adi="Wireless Lan Card" id="8"/>

<Urun Adi="Modem" id="9"/>

<Urun Adi="3D Card" id="10"/>

<Urun Adi="Sound Blaster" id="11"/>

<Urun Adi="Speakers" id="12"/>

<Urun Adi="Keyboard" id="13"/>

<Urun Adi="Monitor" id="14"/>

<Urun Adi="IR Port" id="15"/>

<Urun Adi="USB Port" id="16"/>

<Urun Adi="Floppy Drive" id="17"/>

</ProductsList>



Bu makalemizinde sonuna gelmiş bulunmaktayız. Bir sonraki makalemizde görüşmek üzere.

Soru ve önerilerinizi mail adresime gönderebilirsiniz: mustafasaygi@yahoo.com

Hepinize kolay gelsin Hoşçakalın..

Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.