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..
Ö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 -->
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) { }
Asp.net Alfabetik Sıralama – Sayfalama
Asp.net Alfabetik Sıralama – Sayfalama