Click here to Skip to main content
15,881,757 members
Articles / Web Development / HTML

Adding a tool tip to dropdown list and list box controls in Internet Explorer

Rate me:
Please Sign up or sign in to vote.
4.39/5 (27 votes)
1 Jun 2007CPOL2 min read 158.2K   927   33   52
Internet Explorer does not always show the full contents of dropdown lists and list boxes. This means if the data in the list box is bigger thatn the control's witdth, the user will not be able to fully see it. We can show a tooltip of each content to solve the problem.

Screenshot - tooltip.jpg

Introduction

As you can see in the above image, the rendering by Internet Explorer of the drop down / list box is not appropriate. It does not display the text which is out of the width of the control. To solve the problem, we can add a tooltip with the contents so that the user can read the full value.

Using the code

To solve the problem, I searched the Internet, but no appropriate solution was found. Although, some good third party controls were available which could display the contents using a combination of button, edit box, and div etc. But their management was also a problem. A solution that came into mind was to display the tool tip along with every element of the control so that the text of the non visible area could be viewed using the tool tip. The tool tip will be bound at server side and will work for both Firefox and Internet Explorer. Following is the code for binding a tool tip with a control.

C#
//
// This method binds tooltip with a dropdown/ any list control
//
public static void BindTooltip(ListControl lc)
{
    for (int i = 0; i < lc.Items.Count; i++)
    {
        lc.Items[i].Attributes.Add("title", lc.Items[i].Text);
    }
}

Here the "title" attribute is the magic which adds the tooltip with each list item.

All you have to do is to call this function after binding all the values with the control. You can save this code in your helper file and call wherever you need it. If you have more then one control in your page for which you want to attach the tool tip, you don't need to call this function many times but simply call another overload of it. This overload function will search the list boxes in the page and will attach the tool tip against every control that it will find.

C#
public static void BindTooltip(System.Web.UI.Page p)
{
    if (p == null || p.Form == null)
            return;
        BindTooltip(p.Form.Controls);
}

To make my work more easy, I just put the code in my master page. Every page that uses the master page will get the tooltip automatically as shown in the sample.

The complete source code is attached in the sample application.

Enjoy! Happy programming !

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Pakistan Pakistan
Mansoor Sarfraz works in a well reputed multinational software development company. Software development is not only his duty but his passion too. In his professional career he was Involved in the development of resource/content management system, workflow based systems, enterprise projects based on MS Windows DNA architecture and .NET framework, web based rich client UI development, Rest based backend web services and windows services for different systems. He was also involved in software designing and architecture. He has expertise in C#.NET, ASP.NET, Sql Server, Adobe Flex, Java, Ajax and JavaScript.

You can reach him through his blog
http://mansoorsarfraz.blogspot.com

Comments and Discussions

 
GeneralRe: tooltip Pin
JeevaBharathi26-Aug-07 20:14
JeevaBharathi26-Aug-07 20:14 
AnswerRe: tooltip Pin
Mansoor Sarfraz27-Aug-07 18:27
Mansoor Sarfraz27-Aug-07 18:27 
QuestionRe: tooltip Pin
ysrcycle16-Jul-07 1:02
ysrcycle16-Jul-07 1:02 
GeneralOne Query... [modified] Pin
Blessy Arun6-Jun-07 19:09
Blessy Arun6-Jun-07 19:09 
GeneralRe: One Query... Pin
Mansoor Sarfraz7-Jun-07 19:14
Mansoor Sarfraz7-Jun-07 19:14 
General.Net 1.1 solution Pin
Oliver Haskell5-Jun-07 22:46
Oliver Haskell5-Jun-07 22:46 
Generalplatform Pin
kukustar3-Jun-07 23:34
kukustar3-Jun-07 23:34 
GeneralRe: platform Pin
leonardas4-Jun-07 22:51
leonardas4-Jun-07 22:51 
FF 2.0.0.4 works to.
GeneralRe: platform Pin
Andrii Vasylevskyi5-Jun-07 1:42
Andrii Vasylevskyi5-Jun-07 1:42 
GeneralRe: platform Pin
Vasudevan Deepak Kumar13-Jul-07 0:20
Vasudevan Deepak Kumar13-Jul-07 0:20 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.