Asp.net Alfabetik Sıralama – Sayfalama GridView

Bu Dersimizde Asp.net ile bir liste içerisindeki bilgileri alfabetik olarak sıralama veya sayfalama işlemini yapacağız. Uygulamanın çalışan halini konu sonundaki bağlantıdan indirebilirsiniz..
alfabetiksiralama1
Örneğimizde iller isimli veritabanını kullanacağız.
İlk olarak bilgileri ve harfleri görüntülemek için form sayfamızı hazırlayalım
kodlarımız

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>www.aspnetornekleri.com</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <div class="alfabetiksirala">
    <!--  www.aspnetornekleri.com -->
    <asp:Repeater ID="harfler" runat="server" onitemcommand="harfler_ItemCommand">
        <ItemTemplate>
            <asp:LinkButton ID="LinkButton1" runat="server" Text='<%#Eval("Value")%>' Visible='<%# !Convert.ToBoolean(Eval("Selected"))%>'
                OnClick="harfler_Click" />
            <asp:Label ID="Label1" runat="server" Text='<%#Eval("Value")%>' Visible='<%# Convert.ToBoolean(Eval("Selected"))%>' />
        </ItemTemplate>
    </asp:Repeater>
</div>
<br />
<asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
    RowStyle-BackColor="#A1DCF2" AlternatingRowStyle-BackColor="White" AlternatingRowStyle-ForeColor="#000"
    runat="server" AutoGenerateColumns="false" PageSize="10" AllowPaging="true" OnPageIndexChanging="OnPageIndexChanging">
    <Columns>
        <asp:BoundField DataField="id" HeaderText="Plaka Numarası" HeaderStyle-Width="150px" />
        <asp:BoundField DataField="sehir" HeaderText="İl" HeaderStyle-Width="150px" />
        
    </Columns>
    <EmptyDataTemplate>
        <table cellspacing="0" rules="all" border="0" style="border-collapse: collapse;">
            <tr style="color: White; background-color: #3AC0F2;">
                <th scope="col" style="width: 150px;">
                    Plaka Numarası
                </th>
                <th scope="col" style="width: 150px;">
                    İl
                </th>
              
            </tr><!--  www.aspnetornekleri.com -->
            <tr>
                <td colspan="99" align = "center">
                    Aradığınız kritere uygun sonuç bulunamadı
                </td>
            </tr>
        </table>
    </EmptyDataTemplate>
</asp:GridView>
    </div>
    </form>
</body>
</html>
<!--  www.aspnetornekleri.com -->

alfabetiksiralama2

protected OleDbConnection baglanti;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ViewState["tumu"] = "Tümü";
                this.harfturet();
                this.griddoldur();
            } //www.aspnetornekleri.com
        }
        private void griddoldur()
        {
            string veritabani = null;
            veritabani = "Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("App_Data/iller.accdb");
            using (OleDbConnection con = new OleDbConnection(veritabani))
            {
                using (OleDbCommand cmd = new OleDbCommand("SELECT * FROM iller WHERE sehir LIKE @tekharf + '%' OR @tekharf = 'Tümü'"))
                {
                    using (OleDbDataAdapter sda = new OleDbDataAdapter())
                    {
                        cmd.Connection = con;
                        cmd.Parameters.AddWithValue("@tekharf", ViewState["tumu"]);
                        sda.SelectCommand = cmd;
                        using (DataTable dt = new DataTable())
                        {
                            sda.Fill(dt);
                            GridView1.DataSource = dt;
                            GridView1.DataBind();
                        }
                    }
                }
            }
        }

        private void harfturet()
        {
            List<ListItem> tumharfler = new List<ListItem>();
            ListItem tekharf = new ListItem();
            tekharf.Value = "Tümü";
            string alfabe = "ABCÇDEFGĞHIİJKLMNOÖPQRSŞTUÜVWXYZ";
            tekharf.Selected = tekharf.Value.Equals(ViewState["tumu"]);
            //www.aspnetornekleri.com
            tumharfler.Add(tekharf);
            foreach (char harf in alfabe)
            {
                tekharf = new ListItem();
                tekharf.Value = harf.ToString();
                tekharf.Selected = tekharf.Value.Equals(ViewState["tumu"]);
                tumharfler.Add(tekharf);
            }

            harfler.DataSource = tumharfler;
            harfler.DataBind();
        }
        protected void OnPageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            this.griddoldur();
        }
        protected void harfler_Click(object sender, EventArgs e)
        {
            LinkButton lnkharf = (LinkButton)sender;
            ViewState["tumu"] = lnkharf.Text;
            this.harfturet();
            GridView1.PageIndex = 0;
            this.griddoldur();
            //www.aspnetornekleri.com
        }
        protected void harfler_ItemCommand(object source, RepeaterCommandEventArgs e)
        {

        }

alfabetiksiralama3


Asp.net Alfabetik Sıralama – Sayfalama