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

GridView da Sıralama İşlemi


Merhaba arkadaşlar. Bir Asp.Net makalesinde daha birlikteyiz. Bu makalemizde GridView nesnesinde seçili sutuna göre sıralama işlemini gerçekleştireceğiz.

Default.aspx sayfasını Şekil 1 deki gibi oluşturun.

 

Resim1

Şekil 1

 

Default.aspx sayfasında <Columns> </Columns> arasına sutunlarımızı tanımlayacağız. Tanımladığımız sutunlarda sıralama işlemini gerçekleştirebilmemiz için, SortExpression ı tanımlamalıyız.  ( SortExpression="CustomerID" gibi.)

Kod kısmında GridView in AllowSorting özelliğini true tanımlamalıyız. (GridView1.AllowSorting = true; ).Diğer açıklamalar kod kısmında detaylı olarak verilmiştir.

 

Resim1

Şekil 2

 

 

Resim1

Şekil 3

 

 

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

</head>

<body>

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

    <div>

   

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

        <br />

   

        <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" OnSorting="Sirala">

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

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

            <Columns>

            <asp:BoundField DataField="CustomerID" SortExpression="CustomerID" ReadOnly="true" HeaderText="Customer ID" />

            <asp:BoundField DataField="CompanyName" SortExpression="CompanyName" ReadOnly="true" HeaderText="Company Name" />

            <asp:BoundField DataField="ContactName" SortExpression="ContactName" ReadOnly="true" HeaderText="Contact Name" />

            <asp:BoundField DataField="Address" SortExpression="Address" ReadOnly="true" HeaderText="Address" />

            <asp:BoundField DataField="City" SortExpression="City" ReadOnly="true" HeaderText="City" />

           

            </Columns>

           

            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />

            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />

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

            <EditRowStyle BackColor="#999999" />

            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />

        </asp:GridView>

   

    </div>

    </form>

</body>

</html>

 

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

{

    DataView dv;

    protected void Page_Load(object sender, EventArgs e)

    {

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

         OleDbDataAdapter da = new OleDbDataAdapter("Select CustomerID,CompanyName,ContactName,Address,City From Customers",baglan);

         DataTable dt = new DataTable("Customers");

         da.Fill(dt);

         dv = dt.DefaultView;

        //GridView nesnesinin otomatik sütun almaması

         //ve BoundField ile elle oluşturduğumuz

        // sutun alanlarını alması için false yapıyoruz.

        GridView1.AutoGenerateColumns = false;

        //GridView daki başlık kısımlarına tıklayarak

        //sıralama yapması için AllowSorting true yapılıyor.

         GridView1.AllowSorting = true;

         GridView1.DataSource = dt;

         GridView1.DataBind();

 

    }

 

     public void Sirala(object sender, GridViewSortEventArgs e)   

{

        //Sıralama kriteri label de belirtiliyor.

        Label1.Text = "Sıralama Kriteri:" + e.SortExpression.ToString();

        //sıralama yapacağımız sutunu belirtiyoruz.

        dv.Sort=e.SortExpression;

        GridView1.DataSource = dv;

        GridView1.DataBind();

    }

}

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Hoşçakalın. Bahadır ŞAHİN