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

GridView da Sorting Gösterim

 

Merhaba arkadaşlar bu makalemizde GridView da Sorting işlemini gerçekleştireceğiz. GridView verilerini sütunlarda artan veya azalan bir şekilde göstereceğiz. GridView nesnesinde  AutoGenerateColumns = "False" yapalım. 

 

Screenshot

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.SqlClient;

 

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

{

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            bindList();

        }

    }

 

    protected void bindList()

    {

 

        SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\kategori.mdf;Integrated Security=True");

        {

            con.Open();

            SqlCommand cmd = new SqlCommand("select * from [dbo].[Table]", con);

            SqlDataAdapter da = new SqlDataAdapter(cmd);

            DataSet ds = new DataSet();

            da.Fill(ds);

            con.Close();

            GridView1.DataSource = ds;

            GridView1.DataBind();

        }

    }

 

    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)

    {

        string sortExpression = e.SortExpression;

        if (GridViewSortDirection == SortDirection.Ascending)

        {

            GridViewSortDirection = SortDirection.Descending;

            SortGridView(sortExpression, " DESC");

        }

        else

        {

            GridViewSortDirection = SortDirection.Ascending;

            SortGridView(sortExpression, " ASC");

        }

    }

 

    private void SortGridView(string sortExpression, string direction)

    {

        SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\kategori.mdf;Integrated Security=True");

        {

            con.Open();

            SqlCommand cmd = new SqlCommand("select * from [dbo].[Table]", con);

            SqlDataAdapter da = new SqlDataAdapter(cmd);

            DataTable dt = new DataTable();

            da.Fill(dt);

           

            DataView dv = new DataView(dt);

           

            dv.Sort = sortExpression + direction;

            GridView1.DataSource = dv;

            GridView1.DataBind();

        }

    }

 

    public SortDirection GridViewSortDirection

    {

        get

        {

            if (ViewState["sortDirection"] == null)

                ViewState["sortDirection"] = SortDirection.Ascending;

            return (SortDirection)ViewState["sortDirection"];

        }

        set { ViewState["sortDirection"] = value; }

    }

 

    

 

 

}

 

Default.aspx

 

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

 

<!DOCTYPE html>

 

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

<head runat="server">

    <title></title>

</head>

<body>

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

        <div>

            <asp:GridView ID="GridView1" runat="server" AllowSorting="True"

 AutoGenerateColumns = "False" OnSorting="GridView1_Sorting" CellPadding="4" ForeColor="#333333" GridLines="None" >

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

                <Columns>

    <asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" />

    <asp:BoundField DataField="Yazar" HeaderText="Yazar" SortExpression="Yazar"/>

    <asp:BoundField DataField="Kitap" HeaderText="Kitap" SortExpression="Kitap" />

    <asp:BoundField DataField="Fiyat" HeaderText="Fiyat" SortExpression="Fiyat"  />

 </Columns>

 

                <EditRowStyle BackColor="#999999" />

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

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

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

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

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

                <SortedAscendingCellStyle BackColor="#E9E7E2" />

                <SortedAscendingHeaderStyle BackColor="#506C8C" />

                <SortedDescendingCellStyle BackColor="#FFFDF8" />

                <SortedDescendingHeaderStyle BackColor="#6F8DAE" />

 

            </asp:GridView>

        </div>

    </form>

</body>

</html>

      

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN