<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Web Forms</title><link>http://forums.asp.net/18.aspx</link><description>All about building ASP.NET Pages - server controls, events, validation, etc.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: optgroup in dropdownlist !!</title><link>http://forums.asp.net/thread/3274642.aspx</link><pubDate>Sat, 04 Jul 2009 12:36:46 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274642</guid><dc:creator>Ram Reddy Mekha</dc:creator><author>Ram Reddy Mekha</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274642.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=18&amp;PostID=3274642</wfw:commentRss><description>&lt;p&gt;Direct property will not be there instead we need to do like this...&lt;/p&gt;
&lt;p&gt;&amp;lt;&lt;span&gt;asp:DropDownList&lt;/span&gt;&lt;span&gt; ID=&lt;/span&gt;&lt;span&gt;&amp;quot;ddlItems&amp;quot;&lt;/span&gt;&lt;span&gt; runat=&lt;/span&gt;&lt;span&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;span&gt;asp:DropDownList&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Imports&lt;/span&gt; System &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Collections &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Collections.Generic &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Configuration &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Data &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Linq &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Web &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Web.Security &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Web.UI &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Web.UI.HtmlControls &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Web.UI.WebControls &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Web.UI.WebControls.WebParts &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Xml.Linq &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Text &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.IO &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Runtime.Serialization.Json &lt;br /&gt;&lt;span&gt;Imports&lt;/span&gt; System.Web.Script.Serialization &lt;br /&gt;&lt;span&gt;Public&lt;/span&gt; Partial &lt;span&gt;Class&lt;/span&gt; Upload &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Inherits&lt;/span&gt; System.Web.UI.Page &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Private Sub&lt;/span&gt; Page_Load(&lt;span&gt;ByVal&lt;/span&gt; sender &lt;span&gt;As Object&lt;/span&gt;, &lt;span&gt;ByVal&lt;/span&gt; e &lt;span&gt;As&lt;/span&gt; System.EventArgs) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; item1 &lt;span&gt;As New&lt;/span&gt; ListItem(&lt;span&gt;&amp;quot;Camel&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;1&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item1.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) = &lt;span&gt;&amp;quot;Mammals&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; item2 &lt;span&gt;As New&lt;/span&gt; ListItem(&lt;span&gt;&amp;quot;Lion&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;2&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item2.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) = &lt;span&gt;&amp;quot;Mammals&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; item3 &lt;span&gt;As New&lt;/span&gt; ListItem(&lt;span&gt;&amp;quot;Whale&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;3&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item3.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) = &lt;span&gt;&amp;quot;Mammals&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; item4 &lt;span&gt;As New&lt;/span&gt; ListItem(&lt;span&gt;&amp;quot;Walrus&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;4&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item4.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) = &lt;span&gt;&amp;quot;Mammals&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; item5 &lt;span&gt;As New&lt;/span&gt; ListItem(&lt;span&gt;&amp;quot;Velociraptor&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;5&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item5.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) = &lt;span&gt;&amp;quot;Dinosaurs&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; item6 &lt;span&gt;As New&lt;/span&gt; ListItem(&lt;span&gt;&amp;quot;Allosaurus&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;6&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item6.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) = &lt;span&gt;&amp;quot;Dinosaurs&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; item7 &lt;span&gt;As New&lt;/span&gt; ListItem(&lt;span&gt;&amp;quot;Triceratops&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;7&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item7.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) = &lt;span&gt;&amp;quot;Dinosaurs&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; item8 &lt;span&gt;As New&lt;/span&gt; ListItem(&lt;span&gt;&amp;quot;Stegosaurus&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;8&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item8.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) = &lt;span&gt;&amp;quot;Dinosaurs&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; item9 &lt;span&gt;As New&lt;/span&gt; ListItem(&lt;span&gt;&amp;quot;Tyrannosaurus&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;9&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item9.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) = &lt;span&gt;&amp;quot;Dinosaurs&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddlItems.Items.Add(item1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddlItems.Items.Add(item2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddlItems.Items.Add(item3) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddlItems.Items.Add(item4) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddlItems.Items.Add(item5) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddlItems.Items.Add(item6) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddlItems.Items.Add(item7) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddlItems.Items.Add(item8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddlItems.Items.Add(item9) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;End Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;End Class &lt;br /&gt;Public Class&lt;/span&gt; DropDownListAdapter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Inherits&lt;/span&gt; System.Web.UI.WebControls.Adapters.WebControlAdapter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Protected Overloads Overrides Sub&lt;/span&gt; RenderContents(&lt;span&gt;ByVal&lt;/span&gt; writer &lt;span&gt;As&lt;/span&gt; HtmlTextWriter) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; list &lt;span&gt;As&lt;/span&gt; DropDownList = TryCast(&lt;span&gt;Me&lt;/span&gt;.Control, DropDownList) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Dim&lt;/span&gt; currentOptionGroup &lt;span&gt;As String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim&lt;/span&gt; renderedOptionGroups &lt;span&gt;As New&lt;/span&gt; List(Of &lt;span&gt;String&lt;/span&gt;)() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;For Each&lt;/span&gt; item &lt;span&gt;As&lt;/span&gt; ListItem &lt;span&gt;In&lt;/span&gt; list.Items &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;If&lt;/span&gt; item.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) &lt;span&gt;Is Nothing Then&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RenderListItem(item, writer) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Else&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentOptionGroup = item.Attributes(&lt;span&gt;&amp;quot;OptionGroup&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;If&lt;/span&gt; renderedOptionGroups.Contains(currentOptionGroup) &lt;span&gt;Then&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RenderListItem(item, writer) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;/span&gt; renderedOptionGroups.Count &amp;amp;gt; 0 &lt;span&gt;Then&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RenderOptionGroupEndTag(writer) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;End If&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RenderOptionGroupBeginTag(currentOptionGroup, writer) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; renderedOptionGroups.Add(currentOptionGroup) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RenderListItem(item, writer) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;End If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;/span&gt; renderedOptionGroups.Count &amp;gt; 0 &lt;span&gt;Then&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RenderOptionGroupEndTag(writer) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;End If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub&lt;/span&gt; RenderOptionGroupBeginTag(&lt;span&gt;ByVal&lt;/span&gt; name &lt;span&gt;As String&lt;/span&gt;, &lt;span&gt;ByVal&lt;/span&gt; writer &lt;span&gt;As&lt;/span&gt; HtmlTextWriter) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteBeginTag(&lt;span&gt;&amp;quot;optgroup&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteAttribute(&lt;span&gt;&amp;quot;label&amp;quot;&lt;/span&gt;, name) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.Write(HtmlTextWriter.TagRightChar) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteLine() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;End Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub&lt;/span&gt; RenderOptionGroupEndTag(&lt;span&gt;ByVal&lt;/span&gt; writer &lt;span&gt;As&lt;/span&gt; HtmlTextWriter) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteEndTag(&lt;span&gt;&amp;quot;optgroup&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteLine() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;End Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub&lt;/span&gt; RenderListItem(&lt;span&gt;ByVal&lt;/span&gt; item &lt;span&gt;As&lt;/span&gt; ListItem, &lt;span&gt;ByVal&lt;/span&gt; writer &lt;span&gt;As&lt;/span&gt; HtmlTextWriter) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteBeginTag(&lt;span&gt;&amp;quot;option&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteAttribute(&lt;span&gt;&amp;quot;value&amp;quot;&lt;/span&gt;, item.Value, &lt;span&gt;True&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;If&lt;/span&gt; item.Selected &lt;span&gt;Then&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteAttribute(&lt;span&gt;&amp;quot;selected&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;selected&amp;quot;&lt;/span&gt;, &lt;span&gt;False&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;End If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each&lt;/span&gt; key &lt;span&gt;As String In&lt;/span&gt; item.Attributes.Keys &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteAttribute(key, item.Attributes(key)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Next&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.Write(HtmlTextWriter.TagRightChar) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpUtility.HtmlEncode(item.Text, writer) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteEndTag(&lt;span&gt;&amp;quot;option&amp;quot;&lt;/span&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteLine() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;End Sub &lt;br /&gt;End Class&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Have a look at these too.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/jeff/archive/2006/12/27/dropdownlist-with-optgroup.aspx"&gt;http://weblogs.asp.net/jeff/archive/2006/12/27/dropdownlist-with-optgroup.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeproject.com/KB/custom-controls/DropDownListOptionGroup.aspx"&gt;http://www.codeproject.com/KB/custom-controls/DropDownListOptionGroup.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: optgroup in dropdownlist !!</title><link>http://forums.asp.net/thread/3274636.aspx</link><pubDate>Sat, 04 Jul 2009 12:31:38 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274636</guid><dc:creator>Mikesdotnetting</dc:creator><author>Mikesdotnetting</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274636.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=18&amp;PostID=3274636</wfw:commentRss><description>&lt;p&gt;You can write your own Render method, or shortcut using something someone else has already created: &lt;a href="http://www.codeplex.com/SharpPieces/"&gt;http://www.codeplex.com/SharpPieces/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>optgroup in dropdownlist !!</title><link>http://forums.asp.net/thread/3274583.aspx</link><pubDate>Sat, 04 Jul 2009 11:22:01 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274583</guid><dc:creator>pamyral_279</dc:creator><author>pamyral_279</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274583.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=18&amp;PostID=3274583</wfw:commentRss><description>&lt;p&gt;Hi all,&lt;/p&gt;
&lt;p&gt;I need to add : &amp;lt;optgroup label ... in dropdownlist in code behind !&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t find this property in dropdownlist!&lt;br /&gt;How can i do ?&lt;br /&gt;Thank you very much.&lt;/p&gt;</description></item></channel></rss>