DataList Sayfalama-2

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.



Şekil 1


Ş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 + " + i + ">" + i + "|";

}

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 Indekslemetitle>

<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 />

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

<div>

div>

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

form>

body>

html>

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

About Bahadır Şahin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comments:

Öne Çıkan Yayın

GridView da Seçili Satırı DetailsView da Göstermek

Merhaba arkadaşlar bu makalemizde GridView nesnesi ile birlikte DetailsView nesanesini birlikte kullanacağız. GridView da seçili satırın de...