Skip to main content

how to implement option group in asp.net drop down list

In my previous article i have explained about Bind Specific Columns Of Datatable To Gridview In C#.Net, ASP.Net. In this tutorial i am explaining about how to implement option group in asp.net drop down list. In html select list option group is used to group the similiar items. But in asp.net dropdown list we don't have that option. But we can achieve this with the help of jQuery. Dropdownlist is a asp.net control used to show list of values from that the user can select one value.

Here for explanation purpose I have a datatable which contains employees from different department. And the drop down list will group the items based on the department. To use the datatable add the below namespace first.
using System.Data;
Below is the complete cs code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class OptionGroup : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //creating data table
        DataTable dtable = new DataTable();
        
        //adding columns to data table
        dtable.Columns.Add("EmpId", typeof(int));
        dtable.Columns.Add("EmployeeName", typeof(string));
        dtable.Columns.Add("Departmaent", typeof(string));
        
        //adding rowa to datatable
        dtable.Rows.Add(1, "Daniel", "Development");
        dtable.Rows.Add(1, "Nancy", "Development");
        dtable.Rows.Add(1, "Alen", "Development");

        dtable.Rows.Add(1, "Baskar", "Design");
        dtable.Rows.Add(1, "Saleem", "Design");
        dtable.Rows.Add(1, "Mohammed", "Design");

        dtable.Rows.Add(1, "Akbar", "Quality Control");
        dtable.Rows.Add(1, "Crystal", "Quality Control");
        dtable.Rows.Add(1, "Iren", "Quality Control");

        // adding datatable rows to drop down list 
        ListItem newItem;
        foreach(DataRow drow in dtable.Rows)
        {
            newItem = new ListItem(drow["EmployeeName"].ToString(), drow["EmpId"].ToString());
            newItem.Attributes["OptionGroup"] = drow["Departmaent"].ToString();

            ddlOptionGroup.Items.Add(newItem);
        }
    }
}

Equivalent vb.net code is given below
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data

Public Partial Class OptionGroup
 Inherits System.Web.UI.Page
 Protected Sub Page_Load(sender As Object, e As EventArgs)
  'creating data table
  Dim dtable As New DataTable()

  'adding columns to data table
  dtable.Columns.Add("EmpId", GetType(Integer))
  dtable.Columns.Add("EmployeeName", GetType(String))
  dtable.Columns.Add("Departmaent", GetType(String))

  'adding rowa to datatable
  dtable.Rows.Add(1, "Daniel", "Development")
  dtable.Rows.Add(1, "Nancy", "Development")
  dtable.Rows.Add(1, "Alen", "Development")

  dtable.Rows.Add(1, "Baskar", "Design")
  dtable.Rows.Add(1, "Saleem", "Design")
  dtable.Rows.Add(1, "Mohammed", "Design")

  dtable.Rows.Add(1, "Akbar", "Quality Control")
  dtable.Rows.Add(1, "Crystal", "Quality Control")
  dtable.Rows.Add(1, "Iren", "Quality Control")

  ' adding datatable rows to drop down list 
  Dim newItem As ListItem
  For Each drow As DataRow In dtable.Rows
   newItem = New ListItem(drow("EmployeeName").ToString(), drow("EmpId").ToString())
   newItem.Attributes("OptionGroup") = drow("Departmaent").ToString()

   ddlOptionGroup.Items.Add(newItem)
  Next
 End Sub
End Class
Refer the jquery library in your asp.net web page.
    

Once the drop down list is loaded by using the jQuery wrapAll function we are grouping the drop down list items using the department attribute of the each list item. wrapAll() function Wraps a HTML structure around all elements in the set of matched elements.. Below is the jQuery code used to group the drop down list items.


Below is the complete aspx code.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="OptionGroup.aspx.cs" Inherits="OptionGroup" %>




    Asp.Net Option Group Example 
    


    
    

Asp.Net Dropdown List Option Group Example


The final output will look like the below image.


Comments

Post a Comment

Popular posts from this blog

Code To Convert rupees(numbers) into words using C#.Net

Introduction: In my previous article I have explained about how to validate emailid using javascript . In this article I am going to explain about code used to convert rupees(numbers) into words using C#.Net . Explanation: For explanation purpose I have a page. It has a textbox to input the numbers. And when you click on the convert to words button then it will convert the input numbers into words and shows it in the below label. Below is the C# code used to do this functionality. public static string NumbersToWords( int inputNumber) {     int inputNo = inputNumber;     if (inputNo == 0)         return "Zero" ;     int [] numbers = new int [4];     int first = 0;     int u, h, t;     System.Text. StringBuilder sb = new System.Text. StringBuilder ();     if (inputNo < 0)     { ...

C# Extension Methods Example

In this article i am going to explain about Extension Methods  with example. Extension methods enable you to "add" methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type. Extension methods are a special kind of static method, but they are called as if they were instance methods on the extended type. For client code written in C# and Visual Basic, there is no apparent difference between calling an extension method and the methods that are actually defined in a type. If you do implement extension methods for a given type, remember the following points: An extension method will never be called if it has the same signature as a method defined in the type. Extension methods are brought into scope at the namespace level. For example, if you have multiple static classes that contain extension methods in a single namespace named Extensions, they will all be brought into scope by the using Extensions; directive. ...

VBScript equivalent string functions in C#.Net

C# Method VBScript Description IndexOf() InStr Returns the position of the first occurrence of one string within another. The search begins at the first character of the string - InStrRev Returns the position of the first occurrence of one string within another. The search begins at the last character of the string ToLower() LCase Converts a specified string to lowercase SubString() Left Returns a specified number of characters from the left side of a string Length() Len Returns the number of characters in a string TrimStart() LTrim Removes spaces on the left side of a string TrimEnd() RTrim Removes spaces on the right side of a string Trim() Trim Removes spaces on both the left and the right side of a string SubString() M...