Search OR Filter Grid View By Using Radio Buttons In ASP.NET Web Forms

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="SEARCH_FILTER__GRIDVIEW_RADIOBUTTONS.WebForm1" %>


<!DOCTYPE html>


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

<head runat="server">

    <title></title>

    <style type="text/css">

        .auto-style1{

            width:400px;

        }

        .auto-style2 {

            width: 94px;

        }

    </style>

</head>

<body>

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

        <div>

            <table cellpadding="3" cellspacing="3" class="auto-style1">

                <tr>

                    <td class="auto-style2">SEARCH</td>

                    <td>

                        <asp:RadioButton ID="MaleRadioButton" runat="server" Text="Male" GroupName="Gender" OnCheckedChanged="MaleRadioButton_CheckedChanged" AutoPostBack="true"/>

                        <asp:RadioButton ID="FemaleRadioButton" runat="server" Text="Female" GroupName="Gender" OnCheckedChanged="FemaleRadioButton_CheckedChanged" AutoPostBack="true"/>

                        <asp:RadioButton ID="BothRadioButton" runat="server" Text="Both" GroupName="Gender" OnCheckedChanged="BothRadioButton_CheckedChanged" AutoPostBack="true"/>

                    </td>

                </tr>

                <tr>

                    <td class="auto-style2"></td>

                    <td>

                        <asp:Button ID="SearchButton" runat="server" Text="SEARCH" OnClick="SearchButton_Click"/>

                    </td>

                </tr>

                <tr>

                    <td colspan="2">

                        <asp:GridView ID="GridView1" runat="server" BackColor="#CCCCCC" BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" CellSpacing="2" ForeColor="Black">

                            <FooterStyle BackColor="#CCCCCC" />

                            <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />

                            <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />

                            <RowStyle BackColor="White" />

                            <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />

                            <SortedAscendingCellStyle BackColor="#F1F1F1" />

                            <SortedAscendingHeaderStyle BackColor="#808080" />

                            <SortedDescendingCellStyle BackColor="#CAC9C9" />

                            <SortedDescendingHeaderStyle BackColor="#383838" />

                        </asp:GridView>

                    </td>

                </tr>

            </table>

        </div>

    </form>

</body>

</html>

ABOVE FILE IS SEARCH(FILTER)_GRIDVIEW_RADIOBUTTONS\WebForm1.aspx


















using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;

namespace SEARCH_FILTER__GRIDVIEW_RADIOBUTTONS
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        string cs = ConfigurationManager.ConnectionStrings["dbcs"].ConnectionString;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindGridView();
            }
        }

        void BindGridView()
        {
            try
            {
                using(SqlConnection con = new SqlConnection(cs))
                {
                    string query = "SELECT * FROM tbl";
                    SqlDataAdapter sda = new SqlDataAdapter(query,con);
                    DataTable data = new DataTable();
                    sda.Fill(data);
                    GridView1.DataSource = data;
                    GridView1.DataBind();
                }
            }
            catch (SqlException ex)
            {
                Response.Write("SqlException: " + ex.Message);
            }
            catch (Exception ex)
            {
                Response.Write("Exception: " + ex.Message);
            }
        }

        void SearchDataByMale()
        {
            try
            {
                using(SqlConnection con = new SqlConnection(cs))
                {
                    string query = "SELECT * FROM tbl WHERE gender=@male";
                    SqlDataAdapter sda = new SqlDataAdapter(query,con);
                    sda.SelectCommand.Parameters.AddWithValue("@male",MaleRadioButton.Text);
                    DataTable data = new DataTable();
                    sda.Fill(data);
                    GridView1.DataSource = data;
                    GridView1.DataBind();
                }
            }
            catch (SqlException ex)
            {
                Response.Write("SqlException: " + ex.Message);
            }
            catch (Exception ex)
            {
                Response.Write("Exception: " + ex.Message);
            }
        }

        void SearchDataByFemale()
        {
            try
            {
                using(SqlConnection con = new SqlConnection(cs))
                {
                    string query = "SELECT * FROM tbl WHERE gender=@female";
                    SqlDataAdapter sda = new SqlDataAdapter(query,con);
                    sda.SelectCommand.Parameters.AddWithValue("@female",FemaleRadioButton.Text);
                    DataTable data = new DataTable();
                    sda.Fill(data);
                    GridView1.DataSource = data;
                    GridView1.DataBind();
                }
            }
            catch (SqlException ex)
            {
                Response.Write("SqlException: " + ex.Message);
            }
            catch (Exception ex)
            {
                Response.Write("Exception: " + ex.Message);
            }
        }

        protected void SearchButton_Click(object sender, EventArgs e)
        {
            if (MaleRadioButton.Checked == true)
            {
                SearchDataByMale();
            }
            else if (FemaleRadioButton.Checked == true)
            {
                SearchDataByFemale();
            }
            else if (BothRadioButton.Checked == true)
            {
                BindGridView();
            }
            else
            {
                Response.Write("<script>alert('Please select any gender !!')</script>");
            }
        }

        protected void MaleRadioButton_CheckedChanged(object sender, EventArgs e)
        {
            SearchDataByMale();
        }

        protected void FemaleRadioButton_CheckedChanged(object sender, EventArgs e)
        {
            SearchDataByFemale();
        }

        protected void BothRadioButton_CheckedChanged(object sender, EventArgs e)
        {
            BindGridView();
        }
    }
}
ABOVE FILE IS SEARCH(FILTER)_GRIDVIEW_RADIOBUTTONS\WebForm1.aspx.cs
















<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  https://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.7.2" />
    <httpRuntime targetFramework="4.7.2" />
    <pages>
      <namespaces>
        <add namespace="System.Web.Optimization" />
      </namespaces>
      <controls>
        <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
      </controls>
    </pages>
  </system.web>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" />
        <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Web.Infrastructure" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
  </system.codedom>
<connectionStrings>
<add name="dbcs" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\DotNet\SEARCH(FILTER)_GRIDVIEW_RADIOBUTTONS\SEARCH(FILTER)_GRIDVIEW_RADIOBUTTONS\App_Data\Search.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
ABOVE FILE IS Web.config
















CREATE TABLE [dbo].[tbl]
(
[Id] INT NOT NULL PRIMARY KEY,
[name] VARCHAR(50) NOT NULL,
[gender] VARCHAR(50) NOT NULL,
[age] INT NOT NULL
)







Comments

Popular posts from this blog

Range Validator Control In ASP.NET Web forms | Form Validation | ASP.NET Web forms

Query String In ASP.NET Web Forms | State Management | ASP.NET | Web Forms

Validation Summary Control In ASP.NET Web forms | Form Validation | ASP.NET