In this article we will discuss how to bind multiple dropdown
with different data from one XML. Its easy to bind single dropdown from one
XML. In previous article we have discussed, How to
populate/bind dropdown with XML Data in ASP.NET?
Only difference is, we have to mention the Datamember for
dropdown.
1. Create
XML (ex. Given as below)
<?xml version="1.0" encoding="utf-8" ?>
<Actvities>
<Country> <value>1</value> <desc> India</desc></High>
<Country> <value>2</value> <desc>USA</desc></Country>
<Country> <value>3</value> <desc>UK</desc></Country>
<Country> <value>4</value> <desc>China</desc></Country>
<Country> <value>5</value> <desc>France</desc></Country>
<Designation> <value>1</value> <desc>CEO</desc></Designation>
<Designation> <value>2</value> <desc>Project Manager</desc></Designation>
<Designation> <value>3</value> <desc>Team Leader</desc></Designation>
<Designation> <value>4</value> <desc>System Analyst</desc></Designation>
<Designation> <value>5</value> <desc>Web Designer</desc></Designation>
<Department> <value>1</value> <desc>HR</desc></Department>
<Department> <value>2</value> <desc>Software Development</desc></Department>
<Department> <value>3</value> <desc>Sales & Marketing</desc></Department>
<Department> <value>4</value> <desc>Account</desc></Department>
</Actvities>
2. Now
Add 3 Dropdown in your webpage (as per your requirement)
<asp:DropDownList ID="ddlCountry" runat="server" />
<asp:DropDownList ID="ddlDesignation" runat="server" />
<asp:DropDownList ID="ddlDepartment" runat="server" />
3. Now
write code in code behind to Populate these Dropdowns with XML Data:
You can Create one function to bind All Dropdowns or
Three different functions to bind dropdowns as per your convenience.
Method 1: One
function to Populate All Dropdowns:
protected void Page_Load(object sender, EventArgs e)
{
FillDropDownList(ddlCountry, "Country");
FillDropDownList(ddlDesignation,
"Designation");
FillDropDownList(ddlDepartment,
"Department");
}
private void FillDropDownList(DropDownList ddl, String dataMember)
{
ds = new DataSet();
ds.ReadXml(Server.MapPath("Activities/Activities.xml"));
ddl.DataSource = ds;
ddl.DataMember = dataMember;
ddl.DataValueField = "value";
ddl.DataTextField = "desc";
ddl.DataBind();
ds.Dispose();
}
Method 2: Three Different
functions to Populate Three Dropdowns:
protected void Page_Load(object sender, EventArgs e)
{
FillddlCountry();
FillddlDesignation ();
FillddlDepartment ();
}
private void FillddlCountry ()
{
ds = new DataSet();
ds.ReadXml(Server.MapPath("Activities/Activities.xml"));
ddl.DataSource = ds;
ddl.DataMember = "Country";
ddl.DataValueField = "value";
ddl.DataTextField = "desc";
ddl.DataBind();
ds.Dispose();
}
private void FillddlDepartment ()
{
ds = new DataSet();
ds.ReadXml(Server.MapPath("Activities/Activities.xml"));
ddl.DataSource = ds;
ddl.DataMember = "Department";
ddl.DataValueField = "value";
ddl.DataTextField = "desc";
ddl.DataBind();
ds.Dispose();
}
private void FillddlDesignation ()
{
ds = new DataSet();
ds.ReadXml(Server.MapPath("Activities/Activities.xml"));
ddl.DataSource = ds;
ddl.DataMember = "Designation";
ddl.DataValueField = "value";
ddl.DataTextField = "desc";
ddl.DataBind();
ds.Dispose();
}