In this article I
am going to explain how to populate Category and Sub-category in single dropdownlist
in Asp.net
In the previous
article I have explained how to find the unmatched records from two tables insql server and how to fill (bind) the Asp.net dropdownlist using Jquery andJSON.
Description:
In this example I
am going to display the Country and State name in a single dropdownlist. To implement
the functionality I have created 2 tables Tb_Country
and Tb_State.
Insert some dummy
records into tables.
Implementation:
HTML Markup of webform:
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"
runat="server">
<style>
.dropdownlist
{
width:200px;
border:1px solid #000;
border-radius:5px;
height:30px;
font-weight:bold;
}
.ddlCategory
{
font-weight:bold;
background-color:
#9E9E9E;
font-size: 16px;
color:#fff;
}
.ddlSubCategory
{
margin-left:15px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server" CssClass="dropdownlist">
</asp:DropDownList>
</div>
</form>
</body>
</html>
Import the namespace:
C# code:
using
System.Data;
using
System.Data.SqlClient;
using
System.Configuration;
VB.net Code:
Imports
System.Data
Imports
System.Data.SqlClient
Imports
System.Configuration
Populate the dropdownlist
Create a function
to populate the dropdownlist and call it on page load event.
C# code:
SqlConnection
con = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ToString());
protected void Page_Load(object
sender, EventArgs e)
{
if
(!IsPostBack)
{
Populatedropdown();
}
foreach
(ListItem item in
DropDownList1.Items)
{
if
(item.Value.ToString() == "-1")
{
item.Attributes.Add("class", "ddlCategory");
item.Attributes.Add("Disabled", "true");
}
else
{
item.Attributes.Add("class", "ddlSubCategory");
}
}
}
public void Populatedropdown()
{
try
{
SqlCommand
cmd = new SqlCommand("SELECT StateName,ID,CountryId_Fk FROM Tb_State
UNION SELECT UPPER(CountryName),-1,ID FROM Tb_Country ORDER BY
CountryId_Fk,id", con);
DataTable
dt = new DataTable();
SqlDataAdapter
adp = new SqlDataAdapter();
adp = new
SqlDataAdapter(cmd);
adp.Fill(dt);
DropDownList1.DataSource = dt;
DropDownList1.DataTextField = "StateName";
DropDownList1.DataValueField = "ID";
DropDownList1.DataBind();
DropDownList1.Items.Insert(0,"--Select City--");
}
catch (Exception ex)
{
Response.Write(ex.Message.ToString());
}
}
VB.net Code:
Private
con As New SqlConnection(ConfigurationManager.ConnectionStrings("connection").ToString())
Protected Sub Page_Load(sender As
Object, e As
System.EventArgs) Handles
Me.Load
If Not IsPostBack Then
Populatedropdown()
End If
For Each item As ListItem In
DropDownList1.Items
If
item.Value.ToString() = "-1" Then
item.Attributes.Add("class", "ddlCategory")
item.Attributes.Add("Disabled", "true")
Else
item.Attributes.Add("class", "ddlSubCategory")
End
If
Next
End Sub
Public Sub Populatedropdown()
Try
Dim
cmd As New SqlCommand("SELECT
StateName,ID,CountryId_Fk FROM Tb_State UNION SELECT UPPER(CountryName),-1,ID
FROM Tb_Country ORDER BY CountryId_Fk,id", con)
Dim
dt As New DataTable()
Dim
adp As New SqlDataAdapter()
adp = New
SqlDataAdapter(cmd)
adp.Fill(dt)
DropDownList1.DataSource = dt
DropDownList1.DataTextField = "StateName"
DropDownList1.DataValueField = "ID"
DropDownList1.DataBind()
DropDownList1.Items.Insert(0, "--Select City--")
Catch
ex As Exception
Response.Write(ex.Message.ToString())
End Try
End Sub
Now build, run
the project and check the working example..
DEMO:
In this article we have learn how to fill category and Sub-category in single dropdownlist in asp.net using (C#, VB.net). I hope you enjoyed this article. Please post you comment, query and feedback about this article. You can like me on Facebook, Google+, Linkedin and Twitter via hit on Follow us Button and also can get update follow by Email.
No comments:
Post a Comment