Gridview kontrolümüzü DropDownList kontrolü ile sayfalamak.

Merhaba arkadaşlar! Bu dersimizde Gridview kontrolümüzdeki bilgilerimizi DropDownList kontrolümüz yardımıyla sayfalamayı inceleyeceğiz. Aslında Dropdownlist kontrolünün Gridviewle nekadarda kullanışlı olduğunu daha iyi görelim...

Merhaba arkadaşlar! Bu dersimizde Gridview kontrolümüzdeki bilgilerimizi DropDownList kontrolümüz yardımıyla sayfalamayı inceleyeceğiz. Aslında Dropdownlist kontrolünün Gridviewle nekadarda kullanışlı olduğunu daha iyi görelim...


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



<!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>Untitled Page</title>

</head>

<body>

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

       <div>

           <asp:GridView ID="GridView1" AllowPaging="true" runat="Server" OnRowCreated="GridView1_RowCreated"

               ShowFooter="True" OnPageIndexChanging="GridView1_PageIndexChanging">

               <PagerTemplate>

                   Goto Page

                   <aspropDownList ID="ddlPageSelector" runat="server" AutoPostBack="true">

                   </aspropDownList>

                   <asp:Button Text="Başa Dön" CommandName="Page" CommandArgument="First" runat="server"

                       ID="btnFirst" />

                   <asp:Button Text="Geri" CommandName="Page" CommandArgument="Prev" runat="server"

                       ID="btnPrevious" />

                   <asp:Button Text="İleri" CommandName="Page" CommandArgument="Next" runat="server"

                       ID="btnNext" />

                   <asp:Button Text="Son" CommandName="Page" CommandArgument="Last" runat="server"

                       ID="btnLast" />

               </PagerTemplate>

           </asp:GridView>

       </div>

   </form>

</body>

</html>





using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;



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

{

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            BindGridViewView();

        }

    }



    private void BindGridViewView()

    {

        if (Session["strTemp"] != null)

        {



            GridView1.DataSource = Session["strTemp"] as DataTable;

            GridView1.DataBind();



        }

        else

        {

            GridView1.DataSource = GetCustomMadeDataTable();

            GridView1.DataBind();

        }

    }



    public DataTable GetCustomMadeDataTable()

    {

        //DataTable nesnemizi oluşturalım

        System.Data.DataTable objDataTable = new System.Data.DataTable();

        //3 tane string tipinde Column oluşturalım.



        objDataTable.Columns.Add("ISBN", typeof(string));

        objDataTable.Columns.Add("Title", typeof(string));

        objDataTable.Columns.Add("Publisher", typeof(string));

        objDataTable.Columns.Add("Year", typeof(string));

        DataColumn[] dcPk = new DataColumn[1];

        dcPk[0] = objDataTable.Columns["ISBN"];

        objDataTable.PrimaryKey = dcPk;

        objDataTable.Columns["ISBN"].AutoIncrement = true;

        objDataTable.Columns["ISBN"].AutoIncrementSeed = 1;

        //DataTable'ımıza bazı bilgiler girelim.

        DataRow dr;

        for (int i = 1; i <= 45; i++)

        {

            dr = objDataTable.NewRow();

            dr[1] = "Başlık" + i.ToString();

            dr[2] = "Editör" + i.ToString();

            dr[3] = "200" + i.ToString();

            objDataTable.Rows.Add(dr);

        }

        Session["strTemp"] = objDataTable;

        return objDataTable;

    }



    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)

    {

        if (e.Row.RowType == DataControlRowType.Pager)

        {

            SetPagerButtonStates(GridView1, e.Row, this);

        }

    }



    public void SetPagerButtonStates(GridView gridView, GridViewRow gvPagerRow, Page page)

    {



        int pageIndex = gridView.PageIndex;

        int pageCount = gridView.PageCount;

        Button btnFirst = (Button)gvPagerRow.FindControl("btnFirst");

        Button btnPrevious = (Button)gvPagerRow.FindControl("btnPrevious");

        Button btnNext = (Button)gvPagerRow.FindControl("btnNext");

        Button btnLast = (Button)gvPagerRow.FindControl("btnLast");

        btnFirst.Enabled = btnPrevious.Enabled = (pageIndex != 0);

        btnNext.Enabled = btnLast.Enabled = (pageIndex < (pageCount - 1));

        DropDownList ddlPageSelector = (DropDownList)gvPagerRow.FindControl("ddlPageSelector");

        ddlPageSelector.Items.Clear();

        for (int i = 1; i <= gridView.PageCount; i++)

        {

            ddlPageSelector.Items.Add(i.ToString());

        }

        ddlPageSelector.SelectedIndex = pageIndex;

        

        ddlPageSelector.SelectedIndexChanged += delegate

        {

            GridView1.PageIndex = ddlPageSelector.SelectedIndex;

            BindGridViewView();

        };



    }



    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)

    {

        GridView1.PageIndex = e.NewPageIndex;

        BindGridViewView();

    }

}



Kolay gelsin.
  • Etiketler;
K_eyup K_eyup
Sanalkurs.net
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

ne kadar kullanışlı olsada. tek kelime açıklama yok. ne kadar kodların zor olmadığını görmüş olsamda aşina olduğum için anladım konuyu ama bu şekilde bi yazılan bi makalenin ben faydası olacağı inancında değilim. teşekkürler...
Merhaba mstfcck. Dersin neresini anlamadığını yazarsan yardımcı olmaya çalışırım.
yeni başlayan biri olarak mstfcck katılıyorum sadece kodlar var hiç açıklama yok ne işe yarıyor neden bu yöntem gibi bi çok soru yinede ellerine sağlık asp yazmayı azda olsa bilenler için faydalı olmuş olabilir
Yeni başlayanların ihtiyaç duyacağı birşey olduğunu zannetmiyorum. Eğer yeni başladıysan buradan başlama ama demi :kirp:

Yukarı Git