DropDownList Kullanarak GridView Nesnesinde Filtreleme İşlemi

Merhaba arkadaşlar bu makalemizde DropDownList kullanarak GridView nesnesinde Filtreleme işlemi gerçekleştireceğiz. DropDownListin AutoPostBack özelliğini  AutoPostBack="true" yapın.

Screenshot


Şekil 1


Şekil 2


Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    string str = "Data Source=(LocalDB)\\v11.0;AttachDbFilename=|DataDirectory|\\data.mdf;Integrated Security=True;Connect Timeout=30";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindData();
            BindGridview();
        }

    }

    protected void BindData()
    {
        DataTable dt = new DataTable();
        using (SqlConnection baglan = new SqlConnection(str))
        {
            baglan.Open();
            SqlCommand cmd = new SqlCommand("Select Distinct Kısım From Personel", baglan);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            baglan.Close();
            ddlList.DataSource = dt;
            ddlList.DataTextField = "Kısım";
            ddlList.DataValueField = "Kısım";
            ddlList.DataBind();
            ddlList.Items.Insert(0, new ListItem("All (Tamamı)", ""));
        }
    }
    protected void BindGridview()
    {
        DataTable dt = new DataTable();
        using (SqlConnection con = new SqlConnection(str))
        {
            con.Open();
            SqlCommand cmd = new SqlCommand("Select * From Personel", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            con.Close();
            gvDetails.DataSource = dt;
            gvDetails.DataBind();
        }
    }
    protected void ddlList_SelectedIndexChanged(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        using (SqlConnection con = new SqlConnection(str))
        {
            con.Open();
            if (ddlList.SelectedValue != "")
            {
                SqlCommand cmd = new SqlCommand("select * from Personel where Kısım =@department", con);
                cmd.Parameters.AddWithValue("@department", ddlList.SelectedValue);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt);
            }
            else
            {
                SqlCommand cmd = new SqlCommand("Select * From Personel", con);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt);
            }
            con.Close();
            gvDetails.DataSource = dt;
            gvDetails.DataBind();
        }
    }

}

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>
<style type="text/css">
.GridviewDiv {font-size: 100%; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helevetica, sans-serif; color: #303933;}
Table.Gridview{border:solid 1px #0094ff;}
.GridviewTable{border:none}
.GridviewTable td{margin-top:0;padding: 0; vertical-align:middle }
.GridviewTable tr{color: White; background-color: #0094ff; height: 30px; text-align:center}
.Gridview th{color:#FFFFFF;border-right-color:#abb079;border-bottom-color:#abb079;padding:0.5em 0.5em 0.5em 0.5em;text-align:center}
.Gridview td{border-bottom-color:#f0f2da;border-right-color:#f0f2da;padding:0.5em 0.5em 0.5em 0.5em;}
.Gridview tr{color: Black; background-color: White; text-align:left}
:link,:visited { color: #DF4F13; text-decoration:none }
</style>

</head>
<body>
    <form id="form1" runat="server">
    <div class="GridviewDiv">
<table style="width: 420px" border="0" cellpadding="0" cellspacing="1" class="GridviewTable">
<tr >
<td style="width: 40px;">
UserId
</td>
<td style="width: 120px;" >
LastName
</td>
<td style="width: 130px;">
UserName
</td>
<td style="width: 130px;">
Department
</td>
</tr>
<tr >
<td style="width: 40px;">
</td>
<td style="width: 120px;">
</td>
<td style="width: 130px;">
</td>
<td style="width: 130px;">
<asp:DropDownList ID="ddlList" runat="server" AutoPostBack="true" Width="120px"
 Font-Size="11px" onselectedindexchanged="ddlList_SelectedIndexChanged">
</asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="4">
<asp:GridView runat="server" ID="gvDetails" ShowHeader="false" AllowPaging="true" PageSize="10" AutoGenerateColumns="false" Width="420px"  CssClass="Gridview">
<Columns>
<asp:BoundField DataField="Id" HeaderText="UserId" ItemStyle-Width="40px" />
<asp:BoundField DataField="Ad" HeaderText="Name" ItemStyle-Width="120px" />
<asp:BoundField DataField="Soyad" HeaderText="LastName" ItemStyle-Width="130px"/>
<asp:BoundField DataField="Kısım" HeaderText="Department" ItemStyle-Width="130px"/>
</Columns>
</asp:GridView>
</td>
</tr>
</table>

    </form>
</body>
</html>

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

About Bahadır Şahin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comments:

Öne Çıkan Yayın

GridView da Seçili Satırı DetailsView da Göstermek

Merhaba arkadaşlar bu makalemizde GridView nesnesi ile birlikte DetailsView nesanesini birlikte kullanacağız. GridView da seçili satırın de...