Yazı Font Küçült Yazı Font Büyült

DataList Sayfalama-2

Bu örneğimizde Datalist nesnemizi nümerik olarak indekslemeyi göreceğiz.  Default.aspx sayfanıza 1 adet DataList, TextBox ve 5 adet Label ekleyin. Şekil 1 deki gibi oluşturun. TextBox ın ismini txtStart yapın. TextBox ta sayfanın başlangıç durumunu tutacağız. Northwind veritabanındaki Customers tablosundaki verileri göstereceğiz.

Resim1

Şekil 1

Resim2

Şekil 2

Default.aspx.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

using System.Data.OleDb;

 

public partial class _Default : System.Web.UI.Page

{

    private int Baslangic = 1; // Görüntülenecek olan Sayfanın numarası

    private int SayfadakiKayitSayisi = 4;//Sayfada görüntülenecek olan kayıt sayısı

    private int BaslangicKaydi;//Databaseden çekilen datada baslanacak olan kaydın sayısı

    private int ToplamSayfaSayisi;//Toplam sayfa sayısı

  

    private int ToplamKayitSayisi()// Toplam kayıt sayısını geri döndüren bir fonksiyon yazarız.

     {

         OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + Server.MapPath("App_Data//Northwind.mdb"));

         baglan.Open();

         OleDbCommand cmd = new OleDbCommand("Select Count(*) From Customers", baglan);

         int GeciciKayitSayisi = Convert.ToInt32(cmd.ExecuteScalar());

         baglan.Close();

         return GeciciKayitSayisi;

     }

 

     protected void DatayiDoldur()

    {

        Baslangic = Convert.ToInt32(txtStart.Text);

        BaslangicKaydi = (Baslangic * SayfadakiKayitSayisi) - SayfadakiKayitSayisi;

        OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + Server.MapPath("App_Data//Northwind.mdb"));

         baglan.Open();       

        OleDbDataAdapter Da =new OleDbDataAdapter("Select * From Customers", baglan);

        DataSet ds = new DataSet();

        Da.Fill(ds, BaslangicKaydi, SayfadakiKayitSayisi, "Customers");

        DataList1.DataSource = ds.Tables[0].DefaultView;

        DataList1.DataBind();

        baglan.Close();

    }

        protected void Bilgiler()

    {

        //Konuyu daha iyi anlamak için kullandıgımız degiskenleri ekrana bastık

        Label4.Text = BaslangicKaydi.ToString();

        Label5.Text = SayfadakiKayitSayisi.ToString(); ;

        Label6.Text = ToplamKayitSayisi().ToString();

        Label7.Text = ToplamSayfaSayisi.ToString();

    } 

 

 

    protected void Page_Load(object sender, EventArgs e)

    {

        Label8.Text = "";

        txtStart.Visible = false;

        if (ToplamKayitSayisi() % SayfadakiKayitSayisi == 0)

        {

            ToplamSayfaSayisi = ToplamKayitSayisi() / SayfadakiKayitSayisi;

        }

        {

            ToplamSayfaSayisi = ToplamKayitSayisi() / SayfadakiKayitSayisi + 1;

        } 

 

        DatayiDoldur();

               

        if (!Page.IsPostBack)

        {

            // Numeric Sayfalama Bilgileri Olusturuluyor

            int i;

            for (i = 1; i <= ToplamSayfaSayisi; i++)

            {

               

                Label8.Text = Label8.Text + "<a href=default.aspx?sayfa=" + i + ">" + i + "</a>|";

 

                            } 

            try

            {

 

                Baslangic = int.Parse(Request.QueryString["sayfa"].ToString()); // burada queryden gelen degeri alıyoruz

                txtStart.Text = Baslangic.ToString();

                DatayiDoldur();//data yenileniyor

            }

            catch //sayfa ilk açıldıgında querystring bos olacagından hata vermemesi için ve ilk kayıttan baslaması için basalangic degiskenine 1 degerini atarız.

             {

                Baslangic = 1;

            }

        } 

        Bilgiler();           

    } 

 

   

    }

 

 

 

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

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

<head runat="server">

    <title>DataList Nesnesi Nümerik Indeksleme</title>

    <script language="JavaScript">

       self.resizeTo(("500"), ("600"))

 

 

       function penac(theURL, winName, features) {

           window.open(theURL, winName, features);

 

       }

 

       // -->

</script>

</head>

<body>

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

    <table>

    <tr><td><b style="font-family: Tahoma; color: #3399FF">Başlangıç Kayıt Sayısı:</b> <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label>|</td>

    <td><b style="font-family: Tahoma; color: #3399FF">Görüntülenen Kayıt Sayısı:</b> <asp:Label ID="Label5" runat="server" Text="Label"></asp:Label>|</td></tr>

    <tr><td><b><b style="font-family: Tahoma; color: #3399FF">Toplam Kayıt Sayısı:</b> </b><asp:Label ID="Label6" runat="server" Text="Label"></asp:Label>|</td>

    <td><b><b style="font-family: Tahoma; color: #3399FF">Toplam Sayfa Sayısı:</b></b> <asp:Label ID="Label7" runat="server" Text="Label"></asp:Label></td></tr>

   

    </table>

    <p>

 

    </p>

    <asp:DataList ID="DataList1" runat="server" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" Font-Names="Verdana" Font-Size="X-Small" GridLines="Horizontal" RepeatLayout="Flow">

    <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />

            <SelectedItemStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />

            <ItemTemplate>

                <table border="0" cellpadding="0" cellspacing="0" style="width: 392px">

                    <tr>

                        <td style="width: 129px; height: 19px">

                            <asp:Label ID="Label3" runat="server" Font-Bold="True" Font-Names="Tahoma" Font-Size="Small"

                                Text="Customer ID"></asp:Label></td>

                        <td style="width: 17px; height: 19px">

                            :</td>

                        <td style="width: 300px; height: 19px">

                            <asp:Label ID="lblCustomerID" Text='<%# DataBinder.Eval(Container.DataItem,"CustomerID") %>' runat="server" Font-Names="Tahoma" Font-Size="Small"></asp:Label></td>

                    </tr>

                    <tr>

                        <td style="width: 129px; height: 19px">

                            <asp:Label ID="Label2" runat="server" Font-Bold="True" Font-Names="Tahoma" Font-Size="Small"

                                Text="Company Name"></asp:Label></td>

                        <td style="width: 17px; height: 19px">

                            .</td>

                        <td style="width: 300px; height: 19px">

                            <asp:Label ID="lblCompanyName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"CompanyName") %>' Font-Names="Tahoma" Font-Size="Small"></asp:Label></td>

                    </tr>

                    <tr>

                        <td style="width: 129px; height: 19px">

                            <asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Names="Tahoma" Font-Size="Small"

                                Text="Contact Name"></asp:Label></td>

                        <td style="width: 17px; height: 19px">

                            :</td>

                        <td style="width: 300px; height: 19px">

                            <asp:Label ID="lblContactName" runat="server" Font-Names="Tahoma" Text='<%# DataBinder.Eval(Container.DataItem,"ContactName") %>' Font-Size="Small"></asp:Label></td>

                    </tr>

                    <tr>

                        <td style="width: 129px; height: 19px">

                        </td>

                        <td style="width: 17px; height: 19px">

                        </td>

                        <td align="right" style="width: 300px; height: 19px">

                             </tr>

                </table>

            </ItemTemplate>

            <AlternatingItemStyle BackColor="#F7F7F7" />

            <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />

            <ItemStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />

            <EditItemTemplate>

               

            </EditItemTemplate>

 

           

    </asp:DataList>

    <br />  <br />

    &nbsp;

 <asp:Label ID="Label8" runat="server" Text="Label"></asp:Label>

    <div>

   

    </div>

    <asp:TextBox ID="txtStart" runat="server">1</asp:TextBox>

    </form>

</body>

</html>

 

Bir makalenin daha sonuna geldik.  Bir sonraki makalede görüşünceye kadar hoş cakalın. Bahadır ŞAHİN