Related Posts Plugin for WordPress, Blogger...

About

Follow Us

Wednesday, 11 February 2015

Introduction:
Now in this article i will explain how to fill CheckBoxList based on DropDownList selection i.e. whenever  an item from the DropDownList is selected corresponding Course List will get filled in CheckBoxList. This is very common requirement while working on asp.net application.




Implementation: Let's create an asp.net application to understand
 In the design page(.aspx) place a DropDownList and a CheckBoxList control as:

<fieldset style="width:300px">
            <legend>Fill CheckBoxList On Dropdown Selection</legend>
         <br /><br /> <asp:DropDownList ID="ddlDept" runat="server"
            onselectedindexchanged=" ddlDept_SelectedIndexChanged" AutoPostBack="true">
        </asp:DropDownList>
        <br />
        <br />
        <asp:CheckBoxList ID="cblEmployee" runat="server" RepeatColumns="2">
        </asp:CheckBoxList>
       </fieldset>

First we need to create sql server database e.g. "MyDataBase" and in that create two tables as:

Create a table Dept_table as:















 Create a table Emp_table as:



  •  Create a connectionstring in the web.config file under configuration tag as:
<configuration>
<connectionStrings>
                                <add name="EmpCon" connectionString="Data Source=localhost;Initial Catalog=Test;Integrated Security=True"/>
</connectionStrings>
</configuration>

Now in the code behind file(.aspx.cs) write the code as

 C#.Net Code to Fill CheckBoxList based on DropDownList selection in asp.net


 First include following namespaces :

using System.Data;
using System.Data.SqlClient;
using System.Configuration;


protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            FillQualDropdownList();
        }
    }

    private void FillQualDropdownList()
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["EmpCon"].ConnectionString);
        SqlCommand cmd = new SqlCommand("Select * from Dept_Table", con);
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        adp.Fill(dt);
        ddlDept.DataSource = dt;
        ddlDept.DataTextField = "Dept_Name";
        ddlDept.DataValueField = "Dept_Id_Pk";
        ddlDept.DataBind();
        ddlDept.Items.Insert(0, "Select Department");
          
    }

    protected void ddlDept_SelectedIndexChanged(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        if (ddlDept.SelectedIndex != 0)
        {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Empcon"].ConnectionString);
            SqlCommand cmd = new SqlCommand("SELECT Emp_Table.Emp_Name, Emp_Table.Emp_Id_Pk FROM Emp_Table INNER JOIN Dept_Table ON Emp_Table.Dept_Id_Fk = Dept_Table.Dept_Id_Pk WHERE (Emp_Table.Dept_Id_Fk = " + ddlDept.SelectedValue + ")", con);
            SqlDataAdapter adp = new SqlDataAdapter(cmd);
            adp.Fill(dt);
            cblEmployee.DataSource = dt;
            cblEmployee.DataTextField = "Emp_Name";
            cblEmployee.DataValueField = "Emp_Id_Pk";
            cblEmployee.DataBind();
        }
        else
        {
            cblEmployee.Items.Clear();
            cblEmployee.DataSource = null;
            cblEmployee.DataBind();
        }
    }

}

VB.Net Code to Fill CheckBoxList based on DropDownList selection in asp.net

  • Now in the code behind file(.aspx.vb) write the code as
First import the following namespaces :
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            FillQualDropdownList()
        End If
    End Sub

    Private Sub FillQualDropdownList()
Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("EmpCon").ConnectionString)
        
Dim cmd As New SqlCommand("Select * from Dept_table", con)
        Dim adp As New SqlDataAdapter(cmd)
        Dim dt As New DataTable()
        adp.Fill(dt)
        ddlDept.DataSource = dt
        ddlDept.DataTextField = "Dept_Name"
        ddlDept.DataValueField = "Dept_Id_Pk"
        ddlDept.DataBind()
        ddlDept.Items.Insert(0, "Select Department")
      
    End Sub

    Protected Sub ddlDept_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)Handles ddlDept_SelectedIndexChanged
        Dim dt As New DataTable()
        If ddlDept.SelectedIndex <> 0 Then
            Dim cmd As New SqlCommand("SELECT Emp_Table.Emp_Name, Emp_Table.Emp_Id_Pk FROM Emp_Table INNER JOIN Dept_Table ON Emp_Table.Dept_Id_Fk = Dept_Table.Dept_Id_Pk WHERE (Emp_Table.Dept_Id_Fk = " + ddlDept.SelectedValue + ")", con)
            Dim adp As New SqlDataAdapter(cmd)
            adp.Fill(dt)
            cblEmployee.DataSource = dt
            cblEmployee.DataTextField = "Emp_Name"
            cblEmployee.DataValueField = "Emp_Id_Pk"
            cblEmployee.DataBind()
        Else
            cblEmployee.Items.Clear()
            cblEmployee.DataSource = Nothing
            cblEmployee.DataBind()
        End If
    End Sub

0 comments:

Post a Comment